1、无条件绑定
var age = 10
switch age {
case let a: // let a 代表 将age的值绑定到a上
print(a)
case 2:
print(1)
default:
break
}
2、条件绑定
var age = 10
switch age {
case let a where a > 20: // let a 代表 将age的值绑定到a上且a>20
print(a)
case 2:
print(1)
default:
break
}
3、可选类型绑定
var age: Int? = 10
switch age {
case let a?: // let a 代表 将age的值绑定到a上, 并没有解包, a 是可选项类型, 而a?则是将a解包,此时a是Int类型
print(a)
case nil:
print(1)
default:
break
}
// 将age的值解包绑定到a上,a是Int类型, 相当于a?
if let a = age {
}
由于可选项本质是enum枚举类型,还可以下写法:
var age = 10
switch age {
case let .some(v): // let 代表case后面出现的变量v为let
print(a)
case .none:
print(1)
}