Swift Switch语句
Switch语句用作替代长的if-else-if语句来匹配复杂的模式。它提供多个case来根据不同的条件执行不同的操作。
语法
switch variable/expression {
case value1:
// statements
case value2:
// statements
default:
// statements
}
Switch语句在Swift中的工作原理
- Switch语句从上到下执行,以表达式为基准与每个case的值进行比较。
- 如果匹配到了某个case,就会执行该case中的语句,并且整个switch语句在第一个匹配成功的case执行完成后结束。
- 如果没有与任何case匹配的情况,就会进入下一个case。
- default关键字是当没有任何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语句从与case 1匹配的 dayOfWeek 值开始。由于 dayOfWeek 值与第一个case的值1不匹配,它继续执行下一个case,直到找到匹配项。它在case 6中找到匹配项,打印声明,并终止switch语句。
在Swift中使用fallthrough的switch语句
如果希望将控制传递给下一个case,可以在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
在上面的示例中,你可以看到case 5执行了打印语句print(“今天是星期三”),而fallthrough关键字继续执行case 6,打印print(“今天是星期四”)。