💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# `continue`语句 > 原文: [https://www.programiz.com/swift-programming/continue-statement](https://www.programiz.com/swift-programming/continue-statement) #### 在本文中,您将学习使用`continue`语句来转移程序的控制权。 使用循环或条件语句时,可能需要跳过循环内的某些语句或立即终止循环,而不检查测试表达式。 在这种情况下,将使用`break`和`Continue`语句。 访问页面以了解有关[`break`语句](/swift-programming/break-statement "Swift break statement")的更多信息。 `Continue`语句停止在循环或`switch`语句内执行语句。 然后,它会跳回以再次求值循环的测试表达式。 `Continue`语句的语法为: ```swift continue ``` * * * ## `continue`语句如何工作? ![Swif continue statement](https://img.kancloud.cn/97/67/97670513a21d0deffc75eb9f056b4744_404x274.png "How Swif continue statement works?") * * * ## 示例 1:Swift `for`循环中的`continue`语句 ```swift for i in 1...5 { if i == 4 { continue } print("i = \(i)") } ``` 运行该程序时,输出为: ```swift i = 1 i = 2 i = 3 i = 5 ``` 在上面的程序中,要迭代的序列的范围是 1 到 5。 `i`的值设置为范围(1)中的第一个数字,并在每次迭代时更新为范围的下一个数字。 该循环还包含带有表达式`i == 4`的`if`语句。 当表达式为真时(第 4 次迭代),该表达式将执行`continue`语句,跳过语句`print("i = \(i)")`的执行并移至下一个迭代(`i = 5`)。 * * * ## 示例 2:Swift `while`循环中的`Continue`语句 ```swift var intialLevel:Int = -5, finalLevel:Int = 2 var currentLevel:Int = intialLevel while currentLevel < finalLevel { if intialLevel < 0 { print("Starting level must be positive") intialLevel = 0 currentLevel = intialLevel continue //skips the current execution } currentLevel += 1 print("next level") } print("outside of while loop") ``` 运行该程序时,输出为: ```swift Starting level must be positive next level next level outside of while loop ``` 在上面的程序中,`while`循环运行直到`currentLevel`小于`finalLevel`为止。 由于`intialLevel`被分配值为 -5 并且小于 0,因此将执行`if`内部的语句。 当程序到达`continue`语句时,它将跳过`while`循环的语句,并再次跳转以检查条件`currentLevel < finalLevel`。 * * * ## 示例 3:Swift 嵌套循环的`continue`语句 ```swift for j in 1...2 { for i in 1...5 { if i == 4 { continue } print("i = \(i)") } print("j = \(j)") } ``` 当你运行程序时,输出为: ```swift i = 1 i = 2 i = 3 i = 5 j = 1 i = 1 i = 2 i = 3 i = 5 ``` 在上面的程序中,`if i == 4`内的`continue`语句仅跳过内部`for`循环内的`print("i = \(i)")`语句的执行。 但是,它不会跳过外循环`for i in 1...5`的执行。 但是,如果您也想`continue`外循环该怎么办。 为此,您需要在 Swift 中使用带标签的语句。 * * * ## 带标签`continue`的语句 前缀为(`label:Statement`)形式的语句称为带标签的语句。 标签是一个标识符,您可以稍后在`break`或`continue`语句中引用它。 要了解有关带标签语句的更多信息,请访问 *Swift 带标签语句*。 ### 带标签`continue`的语句如何工作? ![Swift labeled statement with continue](https://img.kancloud.cn/ee/58/ee58697e4f32bb0d4decbc1cac047987_380x270.png "How Swift labeled statement with continue works?") 在此,`label`是标识符。 当执行`continue`语句时,程序将跳过循环中其余的代码,并跳转到`label`开始的语句。 ### 示例 4:带标签的`continue`语句 ```swift outerloop: for j in 1...2 { innerloop: for i in 1...5 { if i == 4 { continue outerloop } print("i = \(i)") } print("j = \(j)") } ``` 运行该程序时,输出为: ```swift i = 1 i = 2 i = 3 i = 1 i = 2 i = 3 ``` 在上面的程序中,有两个标记的语句`outerloop: for j in 1...2`和`innerloop: for i in 1...5`。 标签名称`externalloop`和`innerloop`可以与`continue`语句一起使用。 在程序中,我们使用语句`continue outerloop`跳过内部循环和外部循环中的语句执行。 在此过程中,`i`和`j`的值都更新为该范围内的下一个数字。