我想知道下面这两个示例之间到底有什么区别。如果没有区别就直接说没有区别,我给你答案。请注意,在第二种情况下,let 值绑定(bind)是在元组模式的括号内声明的,而在第一种情况下,let 是在元组外部声明的。当我尝试使用这两个示例时,它们都会产生完全相同的结果。 谢谢。
案例一)
let myNumbers = (1, 2)
switch myNumbers {
case let (x, 2):
print("the value of x is \(x)")
default:
print("n/a")
}
案例2)
let myNumbers = (1, 2)
switch myNumbers {
case (let x, 2):
print("the value of x is \(x)")
default:
print("n/a")
}
最佳答案
情况 1 更简洁,更适合一般情况。
案例 2 更为精细。考虑这种情况:
switch myNumbers {
case (let x, var y):
// x is a constant, y is mutable.
print("the value of x is \(x)")
default:
print("n/a")
}
关于ios - 在 Swift 中使用 Switch 语句 - 值绑定(bind)在括号内还是在外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41370515/