这段代码中关于 Kotlin 的 lambda 的语法是什么?



我正在研究 Kotlin 的内联函数 科蒂尔恩的λ,,,

下面的代码是关于 Kotlin 的内联函数示例

我知道"返回"不能在 Kotlin 中的 lambda 中

但是什么是"返回"(在第 4 行(? 为什么 lambda 中有"返回"????? 如何??

(下面的代码运行良好,,,(

fun main() {
shortFunc(3){
println("First call: $it")
return
}
}
inline fun shortFunc(a: Int, out: (Int)->Unit){
println("Before calling out()")
out(a)
println("After calling out()")
}

一般来说,在 lambda 中不允许使用return,但shortFunc被标记为inline。这允许非本地返回,在这种特定情况下,return将使代码从封闭函数返回 - 这是main,因此您的程序终止。

您可以在此处和此处阅读有关非本地退货的更多信息

相关内容

  • 没有找到相关文章

最新更新