原文: https://www.programiz.com/swift-programming/break-statement

在本文中,您将学习使用break语句来转移程序的控制权。

使用循环或条件语句时,可能需要跳过循环中的某些语句或立即终止循环,而不检查测试表达式

在这种情况下,将使用breakContinue语句。 在下一章中,您将了解Continue语句

break语句停止执行循环或switch语句。 然后,它跳转到loopswitch语句之后的下一个语句。

break语句的语法为:

  1. break

break语句如何工作?

`break`语句 - 图1


示例 1:Swift for循环中的break语句

  1. for i in 1...5 {
  2. if i == 4 {
  3. break
  4. }
  5. print("i = \(i)")
  6. }
  7. print("The end")

运行该程序时,输出为:

  1. i = 1
  2. i = 2
  3. i = 3
  4. The end

在上面的程序中,要迭代的序列的范围是 1 到 5。

i的值设置为范围(1)中的第一个数字,并在每次迭代时更新为范围的下一个数字。

该循环还包含带有表达式i == 4if语句。 当表达式为真(第 4 次迭代)时,将执行break语句,并且for-in循环终止。

然后,它跳出循环以打印The end


示例 2:Swift while循环中的break语句

  1. var currentLevel:Int = 1, finalLevel:Int = 2
  2. var isLifeAvailable = true
  3. while (isLifeAvailable) {
  4. if currentLevel > finalLevel {
  5. print("Game Completed. No level remaining")
  6. break
  7. }
  8. //play game and go to next level
  9. currentLevel += 1
  10. print("next level")
  11. }
  12. print("outside of while loop")

运行该程序时,输出为:

  1. next level
  2. next level
  3. Game Completed. No level remaining
  4. outside of while loop

在上面的程序中,while循环的测试表达式始终为true

currentLevel大于finalLevel时,将执行if块内的break语句。 然后,程序退出(终止)while循环,并在循环之后执行语句,即print("outside of while loop")


示例 3:Swift 嵌套循环的break语句

  1. for j in 1...2 {
  2. for i in 1...5 {
  3. if i == 4 {
  4. break
  5. }
  6. print("i = \(i)")
  7. }
  8. print("j = \(j)")
  9. }

当你运行程序时,输出为:

  1. i = 1
  2. i = 2
  3. i = 3
  4. j = 1
  5. i = 1
  6. i = 2
  7. i = 3
  8. 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)形式的语句称为带标签的语句。 标签是一个标识符,您可以稍后在breakcontinue语句中引用它。 要了解有关带标签语句的更多信息,请访问 Swift 带标签语句

带标签break语句如何工作?

`break`语句 - 图2

在此,label是标识符。 执行break语句时,它将终止label内部的循环,程序将立即跳转到该标签后的语句。

例 4:带标签的break语句

  1. outerloop: for j in 1...2{
  2. innerloop: for i in 1...5 {
  3. if i == 4 {
  4. break outerloop
  5. }
  6. print("i = \(i)")
  7. }
  8. print("j = \(j)")
  9. }

运行该程序时,输出为:

  1. i = 1
  2. i = 2
  3. i = 3

在上面的程序中,有两个标记的语句outerloop: for j in 1...2innerloop: for i in 1...5

标签名称externalloopinnerloop可以与break语句一起使用。

语句break outerloop终止两个循环并结束程序。

如果您熟悉其他编程语言,例如 C,C++ ,Java 等,则break语句用于终止switch语句。 但是在 Wwift 中,switch语句在第一个匹配的switch用例完成后立即完成其执行。 因此,在 Swift 的switch案例中添加break是可选的。 要了解更多信息,请访问 Swift switch语句