區間運算符可以用來表示兩個操作數之間的范圍集合
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)不是小寫字母") } }