kotlin有三种跳转方式
- return 从最近的函数返回
- break 终止最近的loop
- continue 从最近的loop开始下一次循环
label
任何表达式都可以标上label,如abc@
loop@ for (i in 1..100) {
for (j in 1..100) {
if (...) break@loop
}
}
从label退出
fun foo() {
ints.forEach {
if (it == 0) return
print(it)
}
}
以上从lambda函数退出时,是从foo退出了,如果要从lambda函数退出,则可以
fun foo() {
ints.forEach lit@ {
if (it == 0) return@lit
print(it)
}
}
//或者
fun foo() {
ints.forEach {
if (it == 0) return@forEach
print(it)
}
}
//或者写匿名函数
fun foo() {
ints.forEach(fun(value: Int) {
if (value == 0) return
print(value)
})
}
以下表示@a 返回,同时返回值是1
return@a 1
``