美文网首页
09-Swift 空合运算符的使用

09-Swift 空合运算符的使用

作者: magic_pill | 来源:发表于2016-11-25 13:52 被阅读59次

    一、空合运算符的使用:

    • 当一个可选类型的数据为 nil 时,就默认给它赋一个值,然后再进行运算;

    • “??” 为空合运算符;

    • 如果 “??” 前面的数据为 nil 时,就直接取 “??” 后面的值;

    • 如果 “??” 前面的数据不等于 nil,就将 “??” 前面的数据强制解包,并进行赋值;

    • 例1:“??” 前面的数据不等于 nil

    var a:String? = "a"
    let b = a ?? "abc"
    b    //"a"
    
    • 例2:“??” 前面的数据等于 nil
    var a:String? = "a"
    a = nil
    let b = a ?? "abc"
    b    //"abc"
    
    例1和例2为字符串类型对应的可选类型,例3和例4为整形类型对应的可选类型
    • 例3:“??” 前面的数据不等于 nil
    var c:Int? = 123
    let d = c ?? 10
    d    //123
    
    • 例4:“??” 前面的数据等于 nil
    var c:Int? = 123
    c = nil
    let d = c ?? 10
    d    //10
    

    二、如果没有空合运算符,则代码实现如下:

    • 第一种实现:if 结构
    var aa:Int? = 2
    //aa = nil
    var bb = 0
    if aa == nil {
        bb = 0
    }else{
        bb = aa!
    }
    bb    //2
    
    • 第二种实现:三目运算符表达式
    var aa:Int? = 2
    aa = nil
    var bb = 0
    bb = aa == nil ? 0 : aa!
    bb    //0
    

    相关文章

      网友评论

          本文标题:09-Swift 空合运算符的使用

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