小编Waq*_*nis的帖子

从 Kotlin 中的 lambda 返回

我是 Kotlin 编程新手,对从 lambda 返回某些内容感到困惑。我想我理解得最多,但下面的代码确实给我带来了问题。

当这样写if(it==0) return@forEach时,应该意味着从 forEach 循环中返回。或者换句话说,退出 forEach 循环。但它仍然继续检查列表中的剩余项目。

这是我正在遵循的代码

fun main(args: Array<String>) {

 val listOf10 = listOf(2, 4, 0, 9, 8)

 listOf10.forEach {
    if (it == 0) return@forEach
    println(it)
 }

}
Run Code Online (Sandbox Code Playgroud)

预期的输出是2,4,但它给出了2,4,9,8。这里有人能帮我解决这个问题吗?

谢谢

lambda return kotlin

0
推荐指数
1
解决办法
674
查看次数

标签 统计

kotlin ×1

lambda ×1

return ×1