区间运算符
2020-09-14 本文已影响0人
黑白森林无间道
闭区间运算符
- 闭区间运算符(a...b)定义了从 a 到 b 的一组范围,并且包含 a 和 b 。
- a 的值不能大于 b 。
半开区间运算符
- 半开区间运算符(a..<b)定义了从 a 到 b 但不包括 b 的区间
- 如同闭区间运算符,a的值也不能大于 b ,如果 a 与 b 的值相等,那么返回的区间是空的
单侧区间
- 闭区间有另外一种形式来让区间朝一个方向尽可能的远,这种区间叫做单侧区间。
- 半开区间运算符同样可以有单侧形式,只需要写它最终的值。
- 单侧区间可以在其他上下文中使用,不仅仅是下标
- 不能遍历省略了第一个值的单侧区间,因为遍历根本不知道该从哪里开始。你可以遍历省略了最终值的单侧区间
字符串索引区间
- 字符串范围也可以使用区间运算符
倒叙索引
- 通过 reversed() 方法,我们可以将一个正序循环变成逆序循环。
Comparable区间
- 区间运算符可以作用在Comparable类型上,返回闭区间和半闭区间。
let names = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
for name in names[..<2] {
print(name)
}
let range = ...5
range.contains(7)
range.contains(4)
range.contains(-100)
var welcome = "hello,world"
let subRange = welcome.index(welcome.endIndex, offsetBy: -6)..<welcome.endIndex
welcome.removeSubrange(subRange)
print(welcome)