💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# `break`语句 > 原文: [https://www.programiz.com/swift-programming/break-statement](https://www.programiz.com/swift-programming/break-statement) #### 在本文中,您将学习使用`break`语句来转移程序的控制权。 使用循环或条件语句时,可能需要跳过循环中的某些语句或立即终止循环,而不检查测试表达式 在这种情况下,将使用`break`和`Continue`语句。 在下一章中,您将了解[`Continue`语句](/swift-programming/continue-statement "Swift continue statement")。 `break`语句停止执行循环或`switch`语句。 然后,它跳转到`loop`或`switch`语句之后的下一个语句。 `break`语句的语法为: ```swift break ``` * * * ## `break`语句如何工作? ![Swift break statement](https://img.kancloud.cn/a8/17/a81739ecdd401def13bb637b1ac23e70_404x270.png "How Swift break statement works?") * * * ## 示例 1:Swift `for`循环中的`break`语句 ```swift for i in 1...5 { if i == 4 { break } print("i = \(i)") } print("The end") ``` 运行该程序时,输出为: ```swift i = 1 i = 2 i = 3 The end ``` 在上面的程序中,要迭代的序列的范围是 1 到 5。 `i`的值设置为范围(1)中的第一个数字,并在每次迭代时更新为范围的下一个数字。 该循环还包含带有表达式`i == 4`的`if`语句。 当表达式为真(第 4 次迭代)时,将执行`break`语句,并且[`for-in`循环](/swift-programming/for-in-loop)终止。 然后,它跳出循环以打印`The end`。 * * * ## 示例 2:Swift `while`循环中的`break`语句 ```swift var currentLevel:Int = 1, finalLevel:Int = 2 var isLifeAvailable = true while (isLifeAvailable) { if currentLevel > finalLevel { print("Game Completed. No level remaining") break } //play game and go to next level currentLevel += 1 print("next level") } print("outside of while loop") ``` 运行该程序时,输出为: ```swift next level next level Game Completed. No level remaining outside of while loop ``` 在上面的程序中,`while`循环的测试表达式始终为`true`。 当`currentLevel`大于`finalLevel`时,将执行`if`块内的`break`语句。 然后,程序退出(终止)`while`循环,并在循环之后执行语句,即`print("outside of while loop")`。 * * * ## 示例 3:Swift 嵌套循环的`break`语句 ```swift for j in 1...2 { for i in 1...5 { if i == 4 { break } print("i = \(i)") } print("j = \(j)") } ``` 当你运行程序时,输出为: ```swift i = 1 i = 2 i = 3 j = 1 i = 1 i = 2 i = 3 j = 2 ``` 在以上程序中,`if i == 4`中的`break`语句仅终止内部循环`for i in 1...5`的执行。 但是,它继续执行外循环`for j in 1...2`。 但是,如果您也想`break`外环`for j in 1...2`,该怎么办。 为此,我们在 Swift 中使用带标签的语句。 * * * ## 带标签的`break`语句 前缀为(`label: Statement`)形式的语句称为带标签的语句。 标签是一个标识符,您可以稍后在`break`或`continue`语句中引用它。 要了解有关带标签语句的更多信息,请访问 *Swift 带标签语句*。 ### 带标签`break`语句如何工作? ![labeled statement witb break](https://img.kancloud.cn/b4/d1/b4d17cd8c5d9893d16be880bab528255_381x270.png "How labeled statement witb break works?") 在此,`label`是标识符。 执行`break`语句时,它将终止`label`内部的循环,程序将立即跳转到该标签后的语句。 ### 例 4:带标签的`break`语句 ```swift outerloop: for j in 1...2{ innerloop: for i in 1...5 { if i == 4 { break outerloop } print("i = \(i)") } print("j = \(j)") } ``` 运行该程序时,输出为: ```swift i = 1 i = 2 i = 3 ``` 在上面的程序中,有两个标记的语句`outerloop: for j in 1...2`和`innerloop: for i in 1...5`。 标签名称`externalloop`和`innerloop`可以与`break`语句一起使用。 语句`break outerloop`终止两个循环并结束程序。 如果您熟悉其他编程语言,例如 C,C++ ,Java 等,则`break`语句用于终止`switch`语句。 但是在 Wwift 中,`switch`语句在第一个匹配的`switch`用例完成后立即完成其执行。 因此,在 Swift 的`switch`案例中添加`break`是可选的。 要了解更多信息,请访问 [Swift `switch`语句](/swift-programming/switch-statement "Swift switch statement")。