Kotlin 退出循环总结
for循环
for ((index, value) in list.withIndex()) {
if (value == "c") {
break
}
println("$index - $value")
}
forEach()
list.forEach {
if (it == "c") {
return@forEach
}
println(it)
}
run loop@{
list.forEach {
if (it == "c") {
return@loop
}
println(it)
}
}
list.takeWhile { it != "c"
}
.forEach {
println(it)
}
嵌套for循环
for (i in 0..5) {
for (j in 10..15) {
if (j == 12) {
break
}
println("$i - $j")
}
}
outer@ for (i in 0..5) {
for (j in 10..15) {
if (j == 12) {
break@outer
}
println("$i - $j")
}
}
lambda函数
fun myFun(block:
() -> Unit) {
block()
println("lambda函数结束")
}
fun main() {
println("开始")
myFun {
for (i in 1..5) {
if (i == 3) {
return@myFun
}
println(i)
}
}
println("结束")
}
inline函数
inline fun myInlineFun(block:
() -> Unit) {
block()
println("inline函数结束")
}
fun main() {
println("开始")
myInlineFun {
for (i in 1..3) {
if (i == 2) {
return
}
println(i)
}
}
println("结束")
}
fun main() {
println("开始")
myInlineFun {
for (i in 1..3) {
if (i == 2) {
return@myInlineFun
}
println(i)
}
}
println("结束")
}