Swift – 区间运算符

注:代码已升级至Swift4

区间运算符可以用来表示两个操作数之间的范围集合。

闭区间运算符:a…b

for iCount in 1...10 {
    //从1遍历到10(包括10)
}

半闭区间运算符:a..<b

var fruts = ["apple","orange","banana"]
let iCount = fruts.count
for i in 0..<iCount {
    print("第\(i+1)个水果是\(fruts[i])")
}

倒序循环

通过 reversed() 方法,我们可以将一个正序循环变成逆序循环。

for i in (0..<10).reversed() {
    print(i)
}

字符串范围也可以使用区间运算符

//字符串截取
let words = "appblog.cn"

//不使用区间运算符
let index1 = words.index(words.startIndex, offsetBy: 4)
let index2 = words.index(words.startIndex, offsetBy: 6)
let range = Range(uncheckedBounds: (lower: index1, upper: index2))
let rangeStr = words.substring(with: range) //lo
print(rangeStr)

//使用区间运算符
let range2 = words.index(words.startIndex, offsetBy: 4)..<words.index(words.startIndex, offsetBy: 6)
let rangeStr2 = words.substring(with: range2) //lo
print(rangeStr2)

Comparable

区间运算符除了返回一个Range外,还可以接受Comparable的输入,返回ClosedInterval或HalfOpenInterval

可以用这个特性检查字符串里的字符是不是都是合法字符(比如是不是都是小写)

let words = "AppBlog.CN"

let interval = "a"..."z"
for c in words.characters {
    if !interval.contains(String(c)) {
        print("\(c)不是小写字母")
    }
}
上一篇 Swift - 使用arc4random()、arc4random_uniform()获取随机数
下一篇 Swift - 运算符重载和运算符函数
目录
文章列表
1 ElasticSearch 7 搜索(11)聚合查询桶聚合
ElasticSearch 7 搜索(11)聚合查询桶聚合
2
PHP获取当天、当月、当年的起点与终点时间戳
PHP获取当天、当月、当年的起点与终点时间戳
3
Docker搭建私有仓库
Docker搭建私有仓库
4
Swift UI - 多行文本输入框(UITextView)
Swift UI - 多行文本输入框(UITextView)
5
Atlas开发总结
Atlas开发总结
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。