1.一個(gè)函數(shù)返回了一個(gè)內(nèi)部函數(shù)挚瘟,該內(nèi)部函數(shù)引用了外部函數(shù)相關(guān)的參數(shù)和變量哄褒,我們把該返回的內(nèi)部函數(shù)稱為閉包
2.在kotlin里面我們通常說的閉包就是lambda表達(dá)式
3.代碼如下:
fun main(args: Array<String>) {
val result = test()
result()
result()
result()
}
//閉包
fun test(): () -> Unit {
var a = 10
return {
println(a)
a++
}
}
4.輸出結(jié)果如下:
image.png
- kotlin閉包就是函數(shù)式編程的體現(xiàn)绵载,函數(shù)可以作為方法的返回值埂陆,方法可以作為函數(shù)的參數(shù)