20-闭包
11.4.4 闭包
闭包就是能够读取其他函数内部变量的函数,是函数内部和函数外部信息交换的桥梁。在Kotlin中,Lambda表达式或匿名函数(局部函数、对象表达式等)都可以访问它的闭包。与Java不同,Kotlin可以修改闭包中捕获的变量,而在Java中必须使用final声明的变量才能被Lambda表达式或匿名函数等访问。
fun main(args: Array<String>) {
println(i) //输出0
println(sum(1,2)) //输出3
}
var i=0
var sum= fun(x:Int,y:Int):Int{
i++ //外部的变量,且可以修改
return x+y
}