Switches
支持任何类型的数据和各种各样的比较操作——它们不限于整数和等式测试。
import Foundation
let vegetable = "red pepper"
switch vegetable {
case "celery":
print("Add some raisins and make ants on a log.")
case "cucumber", "watercress":
print("That would make a good tea sandwich.")
case let x where x.hasSuffix("pepper"):
print("Is it a spicy \(x)?")
default:
print("Everything tastes good in soup.")
}
注意如何在模式中使用let将与模式匹配的值分配给常量。
在匹配的交换机盒中执行代码后,程序将退出交换机语句。执行不会持续到下一个案例,因此您不需要在每个案例代码末尾显式突破开关。