帶過濾的 For-in 迴圈
where
條款
通過新增 where
子句,你可以將迭代限制為滿足給定條件的迭代。
for i in 0..<5 where i % 2 == 0 {
print(i)
}
// 0
// 2
// 4
let names = ["James", "Emily", "Miles"]
for name in names where name.characters.contains("s") {
print(name)
}
// James
// Miles
case
條款
當你只需要迭代匹配某些模式的值時,它很有用:
let points = [(5, 0), (31, 0), (5, 31)]
for case (_, 0) in points {
print("point on x-axis")
}
//point on x-axis
//point on x-axis
你也可以通過在繫結常量後新增 ?
標記來過濾可選值並在適當時解包它們:
let optionalNumbers = [31, 5, nil]
for case let number? in optionalNumbers {
print(number)
}
//31
//5