定义
- Lambda表达式是定义匿名函数的简单形式。由于Lambda表达式避免了在抽象类和接口中编写明确的函数声明,进而也避免了类的实现部分,因此十分有用
- 由于在java中并不能传递函数,所以我们的思想很难想到什么情况下可以传递参数,些函数的时候,是否可以将他的某个参数设置为函数参数
拖尾 lambda 表达式
在 Kotlin 中有一个约定:
如果函数的最后一个参数是函数,那么作为相应参数传入的 lambda 表达式可以放在圆括号之外:
这种语法也称为拖尾 lambda 表达式。val product = items.fold(1) { acc, e -> acc * e }
如果该 lambda 表达式是调用时唯一的参数,那么圆括号可以完全省略:run { println("...") }
