• Swift


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

    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)不是小写字母")
       }
                
    }
  • 相关阅读:
    HDU 4024 Dwarven Sniper’s hunting(数学公式 或者是二分)
    二分图最大匹配总结
    HDU 4022 Bombing (STL应用)
    HDU 1847 Good Luck in CET4 Everybody!(组合博弈)
    HDU 1556 Color the ball(树状数组)
    HDU 4023 Game(博弈)
    HDU 1406 完数(水题)
    HDU 4021 24 Puzzle
    Oracle 多表查询优化
    【编程之美】字符串移位包含的问题(续)
  • 原文地址:https://www.cnblogs.com/hero11223/p/5650580.html
Copyright © 2020-2023  润新知