- lambda允许你将代码块当做参数传递给函数
- Kotlin允许你在圆括号外部向方法传递lambda。并且可以通过
it
来引用单个的lambda参数。 - lambda中的代码可以访问和修改含有对自身调用的函数中的变量
- 你可以通过为函数名添加前缀
::
来创建方法、构造函数和属性的引用。你也可以把这个应用传递给方法而不仅仅是lambda。 - 集合最常见的操作无需手动遍历就可以实现,可以使用像
filter,map,all,any
等函数。 - 序列允许你合并一个集合上的多个操作而无需创建集合来保存中间结果。
- 你可以把lambda当做一个参数传递给Java方法。这个方法接收一个函数式接口(一个带有抽象方法的接口,也就是常说的SAM方法)作为参数。
- 带有接收器的lambda,是一种你可以在一个特殊的接收器对象中直接调用方法的lambda。
- 标准库函数
with
允许你对同一个对象调用多个方法而无趣重复对这个对象的引用。apply
允许你使用建造者风格的API来创建并初始化任意对象。