Swift Academy · 课时

break、continue 与带标签语句

在 Swift 中使用 break、continue 和带标签的循环控制循环流程

第 4 / 4 课12 个步骤

break、continue 与带标签语句 是 CoddyKit 上的免费 Swift Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Swift Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Swift Academy 课程共包含 4 节课。

欢迎

`break` 和 `continue` 可以让您细致地控制循环执行。带标签的语句则将这种能力扩展到嵌套循环。下面来了解各自适用的时机。

break — 提前退出循环

`break` 会立即终止当前循环: ```swift for i in 1...10 { if i == 5 { break } print(i) } // 1, 2, 3, 4 ``` 执行会从循环之后的第一条语句继续。

continue — 跳过当前迭代

`continue` 会跳过当前迭代的其余部分,进入下一次迭代: ```swift for i in 1...10 { if i % 2 == 0 { continue } print(i) } // 1, 3, 5, 7, 9 ``` 这对于跳过无效或不需要的元素很有用。

while 循环中的 break

`break` 在 `while` 循环中同样有效: ```swift var n = 0 while true { n += 1 if n >= 5 { break } } print(n) // 5 ``` 这是惯用的 `while true / break` 事件循环退出模式。

switch 中的 break — 显式空操作

在 Swift 中,空的 `switch` 分支会导致编译错误。请使用 `break` 来明确表示不执行任何操作: ```swift switch value { case .ignored: break // intentionally no action default: process(value) } ```

带标签的循环

在标识符后加冒号即可为循环添加标签: ```swift outerLoop: for row in 0..<3 { for col in 0..<3 { if row == 1 && col == 1 { break outerLoop } print("(\(row),\(col))") } } ``` `break outerLoop` 会完全退出*外层*循环。

带标签的 continue

标签同样适用于 `continue`,可以跳转到外层循环的下一次迭代: ```swift outerLoop: for row in 0..<3 { for col in 0..<3 { if col == 1 { continue outerLoop } print("(\(row),\(col))") } } // skips rest of inner loop when col reaches 1 ```

结合 where 和 break

在可能的情况下,使用 `where` 子句来避免显式的 `break`: ```swift // Less idiomatic: for n in 1...100 { if n > 10 { break } print(n) } // More idiomatic: for n in (1...100).prefix(10) { print(n) } ``` 在可读性允许的情况下,优先选择函数式替代方案,而不是命令式地使用 break。

提前 return 与 break

在函数内部,`return` 会同时退出循环和函数: ```swift func findFirst(_ target: Int, in array: [Int]) -> Int? { for element in array { if element == target { return element } } return nil } ``` 这通常比使用 `break` 并跟踪结果变量更简洁。

使用 first(where:) 避免 break

许多手动退出循环的模式都可以用集合方法替代: ```swift // break version: var found: Int? for n in numbers { if n > 10 { found = n; break } } // idiomatic: let found = numbers.first { $0 > 10 } ``` 函数式写法更短,并且能直接表达意图。

快速检查

哪个语句会跳过**当前**迭代并进入下一次迭代?

回顾

要点回顾: • `break` — 立即退出循环 • `continue` — 跳到下一次迭代 • 带标签的循环(`label:`)可以让 `break`/`continue` 指定外层循环 • 空的 switch 分支必须显式使用 `break` • 在可能的情况下,优先使用函数式替代方案(`first(where:)`、`prefix`),而不是手动使用 break 接下来:函数中的参数标签和参数名称。
免费开始

用 AI 导师学习 Swift — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
122
课程
409

常见问题解答

「break、continue 与带标签语句」课时是免费的吗?

是的 — 「break、continue 与带标签语句」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Swift Academy 课程的其余内容,请升级到 CoddyKit PRO。 Swift Academy 课程共包含 4 节课。

「break、continue 与带标签语句」这节课中我会学到什么?

在 Swift 中使用 break、continue 和带标签的循环控制循环流程 你通过在浏览器中直接运行的动手代码来练习 Swift Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Swift Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Swift Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「break、continue 与带标签语句」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Swift Academy 课中编写并运行代码吗?

能。每节 Swift Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用范围进行 for-in 循环
  2. while 与 repeat-while 循环
  3. 使用 for-in 迭代集合
  4. break、continue 与带标签语句
← 返回 Swift Academy