break // this break outer for loop } } 这多少有点笨拙和丑陋,Kotlin有更优雅的解决方式,就是引入了标签label,可以给循环加上标签,在break时可以指定标签,同样是上面的情况,可以这样做: loop@ for (i in 0 until 10) { for (j in i until 10) { if (array[i] + array[j] == target) { brea...
4. Break specific loop identified by label In the following program, we take a While loop inside a For loop to print some star pattern, and we break the outer loop labeled with the nameloop1, using break statement when a condition is met. Main.kt </> Copy funmain(){loop1@for(iin1...
在这个例子中,run loop@{}的形式创建了一个标签为loop的作用域,然后return@loop的作用是退出这个作用域,从而实现直接退出遍历。 其他需要注意的情况 在Kotlin 中,标签(label)和return、break、continue搭配使用的情况,与 Java 有一些区别。除了前面提到的在forEach中退出循环的情况,以下是一些其他值得注意的情况: 1....
val map=hashMapOf("one"to1,"two"to2,"three"to3)for((key,value)inmap){if(key=="two"){break// 退出循环}println("$key -> $value")} 2、 使用标签和forEach: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 val map=hashMapOf("one"to1,"two"to2,"three"to3)run loop@{map.for...
–break 结束最近的闭合循环 –continue 跳到最近的闭合循环的下一次循环 break 和 continue 标签 在Kotlin 中表达式可以添加标签。标签通过 @ 结尾来表示,比如: abc@ , fooBar@ 都是有效的在这里插入代码片。使用标签语法只需像这样: loop@ for (i in 1..100){ // ... } ...
break // 退出循环 } println("$key -> $value") } 2、 使用标签和forEach: val map = hashMapOf("one" to 1, "two" to 2, "three" to 3) run loop@{ map.forEach { (key, value) -> if (key == "two") { return@loop // 退出循环 ...
) break@loop } } //return 返回,也可以用label标签确定范围 fun foo(){ ints.forEach{ if(it == 0)return//这么return,就return了真个foo函数 print(it) } } //配合lable fun foo(){ ints.forEach lit@{ if(it == 0)return@lit//如此,只return出forEach, print(it) } } //可以不用显示...
}// Kotlin 中的控制流outer@for(iin0until10) {for(jin0until10) {if(j ==5)break@outer// 退出外层循环} } 2. 带标签的return退出闭包操作 在高阶函数中,例如forEach、map、filter等闭包操作中,如果你需要提前退出,可以使用带标签的return。
println("$i - $j") } } } Normally "break", only skip the inner for loop, when we give a name for the outer loop, and say break@outer, so it will skip outer for loop instead of inner one
break 。终止最直接包围它的循环。 continue 。继续下一次最直接包围它的循环。 在Kotlin 中任何表达式都可以用标签(表示符后加@, 比如abc@)来标记。加上标签后, 就可以用标签来限制break和continue. loop@ for (i in 1..100) { for (j in 1..100) { if (……) break@loop } } 1. 2. 3. 4....