使用where约束条件
for i in 1...10 where i % 2 == 0 {
print(i)
}
where用在更复杂的value binding语句里
enum Power {
case fullyCharged
case normal(percentage: Double)
case outOfPower
}
let battery = Power.normal(percentage: 0.1)
//这样,我们就可以在绑定.normal associated value的同时,使用where进一步约束它的关联值了
switch battery {
case .normal(let percentage) where percentage <= 0.1:
print("Almost out of power")
case .normal(let percentage) where percentage >= 0.8:
print("Almost fully charged")
default:
print("Normal battery status")
}
使用tuple简化多个条件的比较
let username = "wly@qq.com"
let password = 11111111
if case ("wly@qq.com", 11111111) = (username, password) {
print("correct")
}