Scala函数及其闭包
1、简单函数介绍
函数声明格式:
def 函数名(参数名1: 参数类型1, 参数名2: 参数类型2) : 返回类型 = {函数体}
如果函数没有返回值就返回Unit
简单的函数调用
无参数函数调用
2、十大函数
<1>、函数传名调用:函数内部进行参数表达值计算
<2>、指定函数参数名:指定参数后可不按顺序传参
<3>、可变参数:指明最后一个传的参数是可重复的,不需指定函数参数的个数
<4>、递归
<5>、默认参数值:有默认参数值可以不传参也能调用
<6>、高阶函数:能够接受函数作为参数的函数
<7>、嵌套函数
<8>、匿名函数:没有名字的函数,可以通过函数表达式来设置
<9>、偏应用函数:一种表达式,无需提供函数需要的所有函数,只需要提供部分或者不提供参数
<10>、柯里化:接受多个参数的函数都可以转化为单个参数的函数
3、数组
一维数组声明与获取
多维数组
数组合并
4、集合
<1>、List
元素以线性方式存储,可以存放重复对象,类似数组所有元素类型相同
<2>、Set
集合的对象不按照特定方式排序,并且没有重复对象,默认是不可以扩展的,但是也可以导入mutable从而变成可扩展的。
方法和List相类似。
<3>、Map
建立kv链表
一般是不可以扩展的,但是可以通过导入mutable变为可以扩展的。
<4>、Tuple
元组也是可以理解为一个容器,可以存放各种相同或不同类型的数据
<5>、Option
Option[T]表示有可能是包含值的容器,也可能是不包含值的容器
5、迭代器
不是集合,而是一种访问集合的方法,迭代器有两个基本操作:next和hasNext
- next返回迭代器的下一个元素,并且更新迭代器的状态
- hasNext检测是否还有下一个元素
迭代器类型是Iterator!!!