SwiftNote-控制转移

292 阅读2分钟

continue

continue 语句告诉循环停止正在做的事情并且再次从头开始下一次遍历。它是说“我不再继续当前的遍历了,而不是停止了整个循环的遍历”。

break

break 语句会立即结束整个控制流语句。当你想要提前结束 switch 或者循环语句可以使用 break

  • 当在循环语句中使用时,break 会立即结束循环,并且转移控制到循环结束花括号 } 后的第一行代码上。当前循环遍历里的其他代码都不会执行,并且余下的遍历循环也不会开始。
  • 当在 switch 语句中使用时,break 会导致 switch 语句立即结束它的执行,并且转移控制到 switch 语句结束花括号 } 后的第一行代码上。

fallthrough

如果确实需要 C 或者 Objective-C 风格的贯穿行为,那么可以在 switch 每个 case 末尾使用 fallthrough 关键字。

let num = 5
var description = "the number \(num) is"
switch num {
case 2, 3, 5,7, 11, 13:
    description += " a prime number, and aslo"
    fallthrough
default:
    description += " an integer."
}
print(description)
// 控制台输出结果: 
// the number 5 is a prime number, and aslo an integer.

语句标签

可以使用语句标签来给循环语句或者条件语句做标记。在一个条件语句中,你可以使用一个语句标签配合 break 语句来结束被标记的语句。再循环语句中,你可以使用语句标签来配合 break 或 continue 语句来结束或者继续执行被标记的语句。

var number = 10
whileLoop: while number > 0 {
    switch number {
    case 9:
        print("9")
    case 10:
        var sum = 0
        for index in 0...10 {
            sum += index
            if index == 9 {
                print(sum)
                // 使用 whileLoop 语句标签配合 break 结束当前循环
                break whileLoop
            }
        }
    default:
        break
    }
    number -= 1
}
// 控制台输出结果: 
// 45