本次的教程是基于Swift5.1版本
Swift 支持 C 中的大多数标准运算符,有过C语言基础或者其他语言基础的都不陌生了,这里就不做过多的阐述了。这章说点不一样的东西,Swift 提供了两种 C 中没有的区间运算符( a..< b 和 a…b ),来让你便捷表达某个范围的值。
区间运算符
Swift 包含了两个 区间运算符 ,他们是表示一个范围的值的便捷方式。
- 闭区间运算符
闭区间运算符( a…b )定义了从 a 到 b 的一组范围,并且包含 a 和 b 。 a 的值不能大于 b 。例如:
代码语言:javascript复制for value in 1...5 {
print(value)
}
输出
1
2
3
4
5
- 半开区间运算符
半开区间运算符( a..< b )定义了从 a 到 b 但不包括 b 的区间,即 半开 ,因为它只包含起始值但并不包含结束值。(其实就是左闭右开区间。)如同闭区间运算符, a 的值也不能大于 b ,如果 a 与 b 的值相等,那返回的区间将会是空的。例如:
代码语言:javascript复制for value in 1..<5 {
print(value)
}
输出
1
2
3
4
- 单侧区间
闭区间有另外一种形式来让区间朝一个方向尽可能的远——比如说,一个包含数组所有元素的区间,从索引 2 到数组的结束。在这种情况下,你可以省略区间运算符一侧的值。因为运算符只有一侧有值,所以这种区间叫做单侧区间。比如说:
代码语言:javascript复制let names = ["11","22","33","44","55"]
for value in names[2...] {
print(value)
}
输出
33
44
55for value in names[...2] {
print(value)
}
输出
11
22
33
半开区间运算符同样可以有单侧形式,只需要写它最终的值。和你两侧都包含值一样,最终的值不是区间的一部分。举例来说:
代码语言:javascript复制let names = ["11","22","33","44","55"]
for value in names[..<2] {
print(value)
}
输出
11
22