-
8.13 高阶函数
-
高阶函数是将函数用作参数或返回值的函数。例如,Iterable的filter函数:
public inline fun <T> Iterable<T>.filter(predicate: (T) -> Boolean): List<T> { return filterTo(ArrayList<T>(), predicate) }
它的输入参数predicate: (T) -> Boolean就是一个函数。其中,函数类型声明的语法是:
(X)->Y
表示这个函数是从类型X到类型Y的映射。即这个函数输入X类型,输出Y类型。
这个函数我们这样调用:
fun isOdd(x: Int): Boolean { return x % 2 == 1 } val list = listOf(1, 2, 3, 4, 5) list.filter(::isOdd)
其中,::用来引用一个函数。
- 留下你的读书笔记
- 你还没登录,点击这里
-
用户笔记留言