#3 kotlin for语句及标签
2019-07-19 本文已影响0人
JamesSawyer
fun main() {
// outer@ 是一个标签 可以取任何名称
outer@ for (row in 1..3) {
println("row: $row")
for (column in 1..3) {
if (row == 2 && column == 2) {
println()
continue@outer // @outer 对应上面的 outer@
}
print("$column")
}
println()
}
}
打印结构:
row: 1
123
row: 2
1
row: 3
123
即当 row == 2 && column == 2
时直接跳到了标签的位置。
对比一下不使用标签的情况
fun main() {
for (row in 1..3) {
println("row2: $row")
for (column in 1..3) {
if (row == 2 && column == 2) {
println()
continue
}
print("$column")
}
println()
}
}
打印结果:
row2: 1
123
row2: 2
1
3 // 此处因为没有使用标签进行跳转 内部循环继续执行完
row2: 3
123
知识点:
-
1..3
产生一个range - for语句中使用标签
labelName@ ... continue@labelName
, 这个类似于C语言中的goto
语句进行标记