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