美文网首页Swift5.2连载
Swift基础运算符(2)

Swift基础运算符(2)

作者: _菩提本无树_ | 来源:发表于2020-07-06 14:49 被阅读0次

    教程目录
    与OC一样的内容不重复介绍

    基础运算符

    2020.07.06(第一更)

    一.运算符

    一元运算符
    对单一对象进行操作的运算符,比如-3,表示负三,'-'就是一元的运算符.再比如!bool,对bool值进行取反.再比如data!解包.这些都是一元运算符.
    二元运算符
    对两个对象进行操作的运算符,比如加减乘除等.
    三元运算符
    目前知道的只有一种就是三目运算符 a ? b :c

    二.赋值运算符

        /// 赋值运算符
        func valuationFunc() {
            
            let a = 12;
            let b = a;
            //这个时候b等于a
            
            //元组也是如此,举例如下
            let (c,d) = (12,34);
            //c=12,d=34;
            
            //有一点需要注意就是赋值运算符没有返回值,举例如下,代码会报错的,因为 a=b没有任何返回值,这个时候需要使用 a==b
    //        if a = b {
    //
    //        }
            if a == b {
                
            }
            
        }
    

    三.组合运算符

    本来不打算写的,还是写一点吧
    +=,-+
    举例

        var e: Int;
        var f = 12;
        f += 3;
        //结果是f = 15
        
        //下面的写法是错误的,原因是+=符号只是给f赋值,但是整个操作没有返回值的即(f+=3)没有返回值
        //e = f+=3;
    

    四.比较运算符

    等于(a == b)
    不等于(a != b)
    大于(a > b)
    小于(a < b)
    大于等于(a >= b)
    小于等于(a <= b)

    Swift 也提供恒等(===)和不恒等(!==)这两个比较符来判断两个对象是否引用同一个对象实例。

    有一个比较有意思的就是元组也可以用来进行比较,前提就是对应的元素类型相同,元组内的内容的数量相同,元组内存储的内容不超过7个.

    比较的方式
    按照从左到右、逐值比较的方式,直到发现有两个值不等时停止

    五.空合运算符

    (a ?? b)
    前提要求是a必须是可选类型.
    空合运算符是三目运算和解包的结合体,(a ?? b)分解变为a != nil ? a! : b,a不等于空的话对a解包,否则返回b,b是一个默认值,当然b的类型要和a存储的类型一致.他还有一个名字叫短路求值。

    六. 区间运算符

    相当于之前For循环这一类的,多的不说直接看代码的使用

        func circulation()  {
            
            let name = ["赵","钱","孙","李","周","吴","郑","王"];
        
            //遍历范围1-5
            for index in 1...5 {
                print(index);
                //打印结果1,2,3,4,5
            }
            //遍历范围1-4
            for index in 1..<5 {
                print(index);
                //打印结果1,2,3,4
            }
            //遍历范围0-3
            for index in [...3] {
                print(name[index]);
                //打印结果:赵钱孙李
            }
            //遍历范围5-(name.count-1)
            for index in [5...] {
                print(name[index]);
                //打印结果:吴郑王
            }
            //遍历范围0-(name.count-1)
            for index in [..<name.count] {
                print(name[index]);
                //打印结果:赵钱孙李周吴郑王
            }
            //遍历范围4-(name.count-1)
            for index in [4..<name.count] {
                print(name[index]);
                //打印结果:周吴郑王
            }
                    
        }
    

    相关文章

      网友评论

        本文标题:Swift基础运算符(2)

        本文链接:https://www.haomeiwen.com/subject/fhkwqktx.html