Swift5.2连载

Swift基础运算符(2)

2020-07-06  本文已影响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]);
            //打印结果:周吴郑王
        }
                
    }
上一篇下一篇

猜你喜欢

热点阅读