Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
  • 跳转语句:break、continue、return 与标签

跳转语句:break、continue、return 与标签

1. break 语句

break 用于立即终止当前所在的循环(for、while、do-while),并跳出循环体继续执行后续代码。

示例

for (i in 1..5) {
    if (i == 3) break // 当 i=3 时终止循环
    println(i)
}
// 输出:1 2

2. continue 语句

continue 用于跳过当前循环的剩余代码,直接进入下一次循环迭代。

示例

for (i in 1..5) {
    if (i == 3) continue // 跳过 i=3 的循环体
    println(i)
}
// 输出:1 2 4 5

3. return 语句

return 用于从函数中返回结果或提前结束函数执行。在 Lambda 表达式中,return 默认从外层函数返回(非局部返回)。

示例

fun findFirstEven(numbers: List<Int>): Int? {
    for (num in numbers) {
        if (num % 2 == 0) return num // 返回第一个偶数
    }
    return null
}

4. 标签(Label)

Kotlin 允许为循环或代码块添加标签(格式为 label@),结合 break、continue 或 return 实现更灵活的跳转控制。

4.1 标签与 break

outerLoop@ for (i in 1..3) {
    for (j in 1..3) {
        if (i == 2 && j == 2) break@outerLoop // 终止外层循环
        println("i=$i, j=$j")
    }
}
// 输出:
// i=1, j=1
// i=1, j=2
// i=1, j=3
// i=2, j=1

4.2 标签与 continue

outerLoop@ for (i in 1..3) {
    for (j in 1..3) {
        if (j == 2) continue@outerLoop // 跳过外层循环的当前迭代
        println("i=$i, j=$j")
    }
}
// 输出:
// i=1, j=1
// i=2, j=1
// i=3, j=1

4.3 标签与 return(Lambda 中的局部返回)

fun main() {
    listOf(1, 2, 3).forEach {
        if (it == 2) return@forEach // 仅退出当前 Lambda 迭代
        println(it)
    }
    println("Done")
}
// 输出:
// 1
// 3
// Done

总结

语句作用标签结合场景
break终止当前循环终止指定标签的循环
continue跳过当前迭代跳过指定标签的循环的当前迭代
return退出函数或 Lambda从标签标记的 Lambda 中局部返回
Last Updated:: 5/21/25, 7:58 PM