swift中 ?? 运算符的使用, 类似于 ?: 运算符

来源:互联网 发布:国家人工智能战略规划 编辑:程序博客网 时间:2024/06/08 14:45

        // a ?? b

        let defaultColorName ="red"

        var userDefinedColorName:String?// defaults to nil

        var colorNameToUse = userDefinedColorName ?? defaultColorName

        print("colorNameToUse(defaulet to nil):\(colorNameToUse)")

        // userDefinedColorName is nil, so colorNameToUse is set to the default of "red” -----

colorNameToUse(defaulet to nil):red

        

        

        userDefinedColorName = "green"// not nil

        colorNameToUse = userDefinedColorName ?? defaultColorName

        print("colorNameToUse(not nil):\(colorNameToUse)")

        // userDefinedColorName is not nil, so colorNameToUse is set to "green”-----

colorNameToUse(not nil):green

        

        //类似 a?b:c

        var colorNameToUse1 = (userDefinedColorName !=nil) ? userDefinedColorName! : defaultColorName

        print("colorName:\(colorNameToUse1)")//-------colorName:green

0 0