1.函数运行的环境
2.持有函数运行状态
3.函数内部可以定义函数
4.函数内部也可以定义类
fun funfun(): () -> Unit {
var count = 0
return fun() {
println(count++)
}
}
fun add(x: Int): (Int) -> Int {
return fun(y: Int): Int {
return x + y
}
}
/**
* 写法等同于add
*/
fun add1(x: Int)=fun(y:Int)=x+y
fun main(args: Array<String>) {
val f = funfun()
/**
* 打印结果0 1
*/
f()
f()
/**
* 打印结果为7
*/
var a = add(5)
println(a(2))
var a1 = add1(5)
println(a1(2))
}
本文通过几个具体的示例介绍了Kotlin中高阶函数的使用方法,包括闭包、函数作为参数及返回值的应用场景。展示了如何利用这些特性简化代码并提高程序的灵活性。
983

被折叠的 条评论
为什么被折叠?



