Kotlin笔记-014高阶函数

101 阅读1分钟

高阶函数

高阶函数定义:

函数的参数类型包含函数类型,或者返回值类型是函数类型,那么这个函数就是一个高阶函数。

常见的 forEach 函数就是一个高阶函数,其参数类型为一个函数类型。

fun action(){
    val ints:IntArray = intArrayOf(1,2,3,4)
	// 函数的最后一个参数为函数类型,那这最后一个参数可以写在大括号里
    ints.forEach { index ->
        println(index)
    }
	// 当函数的参数只有一个时,默认it代指这个参数
    ints.forEach {
        println(it)
    }
}

IntArray.forEach 源码:

public inline fun IntArray.forEach(action: (Int) -> Unit): Unit {
    for (element in this) action(element)
}

高阶函数

高阶函数定义:

函数的参数类型包含函数类型,或者返回值类型是函数类型,那么这个函数就是一个高阶函数。

常见的 forEach 函数就是一个高阶函数,其参数类型为一个函数类型。

fun action(){
    val ints:IntArray = intArrayOf(1,2,3,4)
	// 函数的最后一个参数为函数类型,那这最后一个参数可以写在大括号里
    ints.forEach { index ->
        println(index)
    }
	// 当函数的参数只有一个时,默认it代指这个参数
    ints.forEach {
        println(it)
    }
}

IntArray.forEach 源码:

public inline fun IntArray.forEach(action: (Int) -> Unit): Unit {
    for (element in this) action(element)
}