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
``