Swift 支持 C 中的大多數標準運算符,有過 C 語言基礎或者其他語言基礎的都不陌生,在這就不做過多的闡述了。現在說點不一樣的東西,Swift 提供了兩張 C 中沒有的區間運算符 (a…<b 和 a…b)讓你便捷表達某個範圍的值。
區間運算符
Swift 包含了兩個區間運算符,他們是表示一個範圍的值的便捷方式。
- 閉區間運算符
閉區間運算符(a…b)定義了從 a 到 b 的一組範圍,並且包含 a 和 b 。 a 的值不能大於 b 。例如:
for value in 1...5 {
print(value)
}
輸出
1
2
3
4
5
- 半開區間運算符
半開區間運算符 (a…< b)定義了從 a 到 b 擔不包括 b 的區間,即半開。因爲它只包含起始值但並不包含結束值。(其實就是左閉右開區間)如同閉區間運算符,a 的值也不能大於 b ,如果 a 與 b 的值相等,那返回的區間將會是空的。例如:
for value in 1..<5 {
print(value)
}
輸出
1
2
3
4
- 單側區間
閉區間有另外一種形式來讓區間朝一個方向儘可能的遠 – 比如說:一個包含數組所有元素的區間,從索引 2 到數組的結束。在這樣的情況下,你可以省略區間運算符一側的值,因爲運算符只有一側有值,所有這中區間叫做單側區間。比如說:
let names = ["11","22","33","44","55"]
for value in names[2...] {
print(value)
}
輸出
33
44
55
for value in names[...2] {
print(value)
}
輸出
11
22
33
半開區間運算符同樣可以有單側形式,只需要寫他最終的值。和你兩側包含值一樣,最終的值不是區間的一部分。例如:
let names = ["11","22","33","44","55"]
for value in names[..<2] {
print(value)
}
輸出
11
22