高阶函数是指:接收函数作为参数,或者返回一个函数的函数。

Kotlin 中,集合的 mapfilter 等方法都是高阶函数。

1. Lambda 表达式语法{ 参数1: 类型, 参数2: 类型 -> 函数体 }

2. 常用的高阶函数实战

val numbers = listOf(1, 2, 3, 4, 5, 6)

val evenNumbers = numbers.filter { it % 2 == 0 }
val squared = numbers.map { it * it }
numbers.forEach { print(it) }
val firstBig = numbers.find { it > 3 }
val sum = numbers.reduce { acc, i -> acc + i }

如果 Lambda 是函数的最后一个参数,可以提到圆括号外面;如果没有其他参数,圆括号也可以省略。这就是为什么上面的代码看起来像是直接跟在了方法名后面。