本文概述
Switch语句在匹配复杂模式时用作长if-else-if语句的替代。它提供了多种情况, 可以根据不同的条件执行不同的操作。
句法:
switch variable/expression {
case value1:
// statements
case value2:
// statements
default:
// statements
}
Swift中Switch语句的工作
- switch语句从上到下, 使用表达式并与每个case值进行比较。
- 如果匹配大小写, 则在第一个匹配的开关大小写完成后, 将执行大小写内部的语句, 并且整个switch语句将完成其执行。
- 如果没有匹配的案例, 则转到下一个案例。
- 默认关键字是一个代码, 如果没有大小写匹配, 它将运行。
切换语句示例
let dayOfWeek = 6
switch dayOfWeek {
case 1:
print("It is Sunday today")
case 2:
print("It is Monday today")
case 3:
print("It is Tuesday today")
case 4:
print("It is Wednesday today")
case 5:
print("It is Thursday today")
case 6:
print("It is Friday today")
case 7:
print("It is Saturday today")
default:
print("Invalid day")
}
输出
It is Friday today
在上面的程序中, switch语句首先将dayOfWeek值与案例1匹配。由于dayOfWeek值与第一个案例值1不匹配, 因此它会下降到下一个案例, 直到找到匹配项。在情况6中找到匹配项, 打印声明, 然后switch语句终止。
在Swift中切换到失败的语句
如果要继续控制到下一种情况, 则在switch语句中使用fallthrough语句。
例子
let dayOfWeek = 5
switch dayOfWeek {
case 1 :
print("It is Sunday today")
case 2:
print("It is Monday today")
case 3:
print("It is Tuesday today")
case 4:
print("It is Wednesday today")
case 5:
print("It is Thursday today")
fallthrough
case 6:
print("It is Friday today")
case 7:
print("It is Saturday today")
default:
print("Invalid day")
}
输出
It is Thursday today
It is Friday today
在上面的示例中, 你可以看到案例5执行了语句print(“今天今天是星期三”), 而fallthrough关键字进入到case6, 它打印了print(“今天今天是星期四”)。