Scala 基础
来源:互联网 发布:mac web前端开发工具 编辑:程序博客网 时间:2024/05/03 01:10
- Scala官网:http://www.scala-lang.org/
- 当练习ScalaAPI的时候,可以使用命令行进行操作,但你首先要配置好环境,这个很好配置。Scala安装与环境变量设置
http://www.scala-lang.org/download/
基础语法
- 整数相加
scala> 1+1res0: Int = 2
- 变量乘法
scala> res0 * 5res1: Int = 10
- 变量乘法
scala> res0*res1res2: Int = 20
- 输出文本
println是Scala预定义导入的类,可以直接使用,其他非预定义的类,需要手动导入
scala> println("test")test
- Scala程序
Scala程序的定义需要使用Object
编译Scala源文件使用scalar Hello.scala
执行的时候使用 scala Hello(和java java 很像)
package edu.lm.dream.test/** * Created by lm on 2016/12/25. */object Hello { def main(args: Array[String]): Unit = { println("Hello Scala !!!") }}
- Scala变量
//变量分为可变和不可变,使用val声明的变量不可变,//使用var声明的变量可变scala> val num = 12num: Int = 12scala> var str = "stom"str: String = stom
- scala懒加载
scala> lazy val arr = "alibab"arr: String = <lazy>scala> println(arr)alibi
scala函数的定义
- Scala函数定义示例
def关键字、函数名、参数列表、返回值类型、函数体
返回类型可以是任何有效的scala数据类型,多个参数使用逗号分隔, 返回值类型列表分离变量是可选的。非常类似于Java。
def functionName [(parameters : type)] : [return type]{ function body}
- 匿名函数
箭头左边是参数列表,右边是函数体。使用匿名函数会使代码变的更简洁。
scala> (num:Int)=>printf(num+"")res8: Int => Unit = <function1>
- 默认参数
Scala 可以为函数参数指定默认参数值,使用了默认参数,你在调用函数的过程 中可以不需要传递参数,这时函数就会调用它的默认参数值,如果传递了参数, 则传递值会取代默认值。
*注:在命令行下,但编写多行时,可以使用
;paste
进入多行编辑模式,但是里面不要出现tab键*
scala> :paste// Entering paste mode (ctrl-D to finish)def fun1(name : String ="lisi"){ printf("name is " + name)}// Exiting paste mode, now interpreting.fun1: (name: String)Unit
- 变长参数
Scala在编写函数的时候,可以指定最后一个参数可以重复,这样调用者就可以传递多个参数进行调用
使用“*”来表示重复的参数,使用idea的worksheet进行演示
这里的的变长参数其实就是存入一个数组,但是直接穿入数组会报错,必须使用
0 0
- Scala基础
- Scala 基础
- Scala 基础
- Scala 基础
- Scala基础
- scala 基础
- scala 基础
- Scala基础
- Scala基础
- Scala基础
- Scala基础
- Scala 基础
- Scala基础
- scala-基础
- Scala基础
- Scala基础
- scala基础
- Scala 基础
- bzoj 3653: 谈笑风生 (主席树+dfs序)
- 文件写入字节流
- 剑指Offer之面试题16:反转链表
- XMind 各版本官网下载地址
- POJ 1011 Sticks 笔记
- Scala 基础
- 关于开坑与开坑前的一些准备
- 【Unity】(代码分析)unity里利用C# 读写XML
- 剑指Offer之面试题17:合并两个排序的链表
- 细说关系所属范式
- .NET Framework 4.5 五个很棒的特性
- SM-一个servlet+ajax测试小项目
- Convolution Networks 和Deconvolution Networks
- SharePreferences源码分析(commit与apply的区别以及原理)