您的位置:首页 > 移动开发 > Swift

Swift - 区间运算符(... 和 ..<)

2016-07-07 16:23 411 查看
区间运算符可以用来表示两个操作数之间的范围集合

1,闭区间运算符:a...b

for icount in 512...1024 {
print(icount)//从512遍历到1024(包括1024)
}


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

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


注:使用 ..<来创建一个不包含最大值的区间,使用 ... 来创造一个包含最大值和最小值的区间

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

//字符串截取
let words = "hhggll.com"

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

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


4,倒序循环

通过reversed()方法,我们可以将一个正序循环变成逆序循环,代码如下:

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


5,区间运算符除了返回一个Range外,还可以接受Comparable的输入,返回闭区间和半闭区间,所以我们可以用这个特性检查字符串里的字符是不是都是合法字符(比如是不是都是小写)

let hWords = "Hhggll.com"
let interval = "a"..."z"
for c in hWords.characters {
if !interval.contains(String(c)) {
print("\(c)不是小写字母")
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: