匿名函数
- 匿名函数:
没有名字的函数, 就是匿名函数
用处:
1. 作为实参, 直接传递给高阶函数
2. 直接作为高阶函数的返回值 - 传递:
foo((a:Int, b:Int) => a + b) - 在传递匿名函数的时候, 参数的类型一般可以利用上下文, 让scala去自动推导
- foo( + )
要求: 1. 匿名只能有两个参数
2. 每个参数只使用了一次
3. 第一个_表示第一个参数, 第二个下划线表示第二个参数
传统函数和匿名函数对比
def main(args: Array[String]): Unit = {val a = () => println("传统函数")foo(a)// 匿名函数foo(() => {println("匿名函数")})}def foo(f: () => Unit) = {f()}
