1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| 在 Swift 中,你可以使用元组结合 switch 语句来匹配多个值或者条件。 当 switch 语句的 case 部分是元组时,它会按照元组的顺序逐个匹配元组中的值。
元组结合 switch 的效果示例:
let point = (2, 2)
switch point { case (0, 0): print("原点") case (_, 0): print("在 x 轴上") case (0, _): print("在 y 轴上") case (-2...2, -2...2): print("在 [-2, 2] 区间内") default: print("其他位置") }
在这个例子中,point 是一个元组 (2, 2)。 switch 语句中的 case 部分是一系列元组,它们会逐个和 point 进行匹配。 最终,根据 point 的值匹配到对应的 case 执行相应的代码块。
元组与 where 结合的效果: 除了与元组结合,你还可以在 switch 语句中使用 where 关键字来添加额外的条件。
let point = (2, 2)
switch point { case let (x, y) where x == y: print("x 和 y 相等") case let (x, y) where x == -y: print("x 和 -y 相等") default: print("其他情况") } 在这个例子中,第一个 case 使用了 where 关键字来添加额外的条件,只有当 x 和 y 相等时才会匹配。 第二个 case 也是类似的,只有当 x 和 -y 相等时才会匹配。
|