编辑这个页面须要登录或更高权限!

Swift break 语句

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

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

在这种情况下,将使用 break 和 continue语句。您将在下一章中了解 continue 语句

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

break语句的语法为:

break

break语句如何工作?

迅速休息声明

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

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

运行该程序时,输出为:

i = 1
i = 2
i = 3
The end

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

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

循环还包含一个if语句,表达式为 i==4。表达式在计算为 true 时(在第4次迭代时)执行break语句,for-in循环终止。

然后,它跳到循环外面以打印 The End

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

var currentLevel:Int = 1, finalLevel:Int = 2
var isLifeAvailable = true
while (isLifeAvailable) {
    
    if currentLevel > finalLevel {
        print("游戏结束,没有关卡了")
        break
    }
    //玩游戏,进入下一关
    currentLevel += 1
    print("下一关")
}
print("While循环之外")

运行该程序时,输出为:

下一关
下一关
游戏结束,没有关卡了
While循环之外

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

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

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

for j in 1...2 {
    for i in 1...5 {
        if i == 4 {
            break
        }
        print("i = \(i)")
    }
    print("j = \(j)")
}

运行该程序时,输出为:

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中使用带标签的语句。

带标签(label)的语句

前缀为(label:Statement)形式的语句称为带标签的语句。标签是一个标识符,您可以稍后在break或continue语句中引用它。

带标签的带有break的语句如何工作?

标记语句witb中断

在这里label是一个标识符。当break执行语句时,它将终止内的循环label,并且程序将立即跳转到带有标签的语句之后的语句。

示例4:带有break的标签语句

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

运行该程序时,输出为:

i = 1
i = 2
i = 3

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

标签名称 outerloop 和 innerloop 可以与 break 语句一起使用。

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

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