Scala中的普通函数和匿名函数
普通函数
- 声明函数的结构: def 函数名(参数列表):返回值类型={方法体}
- scala可以根据方法体的返回值,自动推断出返回值类型
- 如果要实现自动推断,函数和方法体之间必须有=号
如果函数没有=号,则返回值一律为空类型(Unit)。 - scala函数的默认参数机制:
def 函数名(形参名:类型=默认值)={方法体} - scala函数支持变长参数机制:
def 函数名(形参名:类型*)={方法体} - 变长参数类型本质上看以看做是数组类型
变长参数必须位于参数列表的最后 - def前面修饰符默认是public
匿名函数&高阶函数
- 匿名函数没有函数名
- 参数列表和方法体{}的连接符是 =>
- 匿名函数的作用:可以当做参数进行赋值或传递
- 高阶函数是允许将函数当做参数进行传递。
- 匿名函数的通用化简规则1:参数的类型如果可以推断出来,则类型可以省略
- 匿名函数的通用化简规则2:如果匿名函数的参数列表中只有一个参数,则()可以省略
- 匿名函数最终级的化简:可以通过_(占位符)来代替参数