📅  最后修改于: 2023-12-03 14:43:41.547000             🧑  作者: Mango
在 Kotlin 中,我们可以使用不同的语句来实现返回、跳转和标签操作,下面我们将分别进行介绍。
在函数中使用 return 语句可以提前结束函数的执行,并返回指定的值,例如:
fun add(a: Int, b: Int): Int {
return a + b
}
在 Kotlin 中,我们可以使用中缀表达式来简化函数的返回,例如:
infix fun Int.add(b: Int): Int = this + b
然后我们就可以这样使用:
val sum = 1 add 2 // 等同于 val sum = 1.add(2)
在匿名函数中我们也可以使用 return 语句,例如:
fun main() {
val nums = listOf(1, 2, 3, 4, 5)
val sum = nums.fold(0) { acc, i ->
val result = acc + i
if (i >= 3) return result // 使用 return 提前结束匿名函数的执行
result
}
}
在循环语句中使用 break 语句可以提前结束循环的执行,例如:
fun main() {
val nums = listOf(1, 2, 3, 4, 5)
for (i in nums) {
if (i >= 3) break // 当 i >= 3 时跳出循环
println(i)
}
}
在循环语句中使用 continue 语句可以跳过本次循环,继续下一次循环的执行,例如:
fun main() {
val nums = listOf(1, 2, 3, 4, 5)
for (i in nums) {
if (i == 3) continue // 当 i == 3 时跳过本次循环
println(i)
}
}
标签在 Kotlin 中用于标识代码块,通常用于在嵌套的循环或条件语句中使用 break 或 continue 跳出特定的代码块。
我们可以使用关键字 label 表示标签,例如:
label@ for (i in 1..5) {
for (j in 1..3) {
println("i = $i, j = $j")
if (i == 3 && j == 2) break@label // 标记代码块并在 break 语句中使用标签
}
}
在上面的例子中,我们使用 label@ 标记了外层循环的代码块,然后在内层循环中使用 break@label 跳出了标记的代码块。
在 Kotlin 中,我们还可以使用标签限定符指定需要跳出的循环或代码块,例如:
outer@ for (i in 1..5) {
middle@ for (j in 1..3) {
inner@ for (k in 1..4) {
println("i = $i, j = $j, k = $k")
if (i == 3 && j == 2 && k == 3) break@middle // 在 break 语句中使用标签限定符
}
}
}
在上面的例子中,我们使用了三个标签 outer、middle 和 inner,然后在 break@middle 中使用了标签限定符,指定了需要跳出的中间循环。