在 Kotlin 中使用 lambda 表達式的注意事項
(1) lambda表達式的返回值怎麼寫:
返回值可以存在於 lambda 表達式中,並且可以通過兩種方式表示:
(a) lambda 的最後一個表達式作為返回值。
object Base9 {
fun test() {
var genderList = MutableList(3, {number ->
addAge(number)
})
for (element in genderList) {
Log.e("Base9", element.toString())
}
}
fun addAge(number : Int) : Int {
return number + 20
}
}
打印結果:
20
21
22
(b) 顯式使用 return 關鍵字,但如果使用 return 關鍵字:
object Base9 {
fun test() {
var genderList = MutableList(3, {number ->
addAge(number)
[email protected] 7 // 关键行
})
for (element in genderList) {
Log.e("Base9", element.toString())
}
}
fun addAge(number : Int) : Int {
return number + 20
}
}
打印結果:
7
7
7
(2) lambda參數是val類型的變量,有點類似於java中的lambda,所以不能或者不能賦值。
(3) Lambda表達式參數保護外層定義的同名變量。
參考:
Kotlin 語法(八)——方法和 lambda 表達式
[Kotlin] 你想知道的關於 lambdas 的一切都在這裡
版權聲明:本文為CSDN博主“zhuhai__yizhi”原創文章,受CC 4.0 BY-SA版權協議約束。轉載時請附上原文出處鏈接和本聲明。
原文鏈接:https://blog.csdn.net/zhuhai__yizhi/article/details/82590469
原文鏈接:https://blog.csdn.net/zhuhai__yizhi/article/details/82590469