8.2.9 高阶函数
高阶函数是将函数用作参数或返回值的函数。例如,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)
其中,::
用来引用一个函数。
当前内容版权归 JackChan1999 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 JackChan1999 .