帶過濾的 For-in 迴圈

  1. 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
  1. 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