加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift有一个null合并运算符,如果没有,什么是自定义运算符的例子

发布时间:2020-12-14 06:04:54 所属栏目:百科 来源:网络整理
导读:在许多语言中的一个共同特征,Null Coalescing运算符是一个二进制运算符,常用于缩短类型的表达式: x = possiblyNullValue NCO valueIfNull 其中NCO是语言的空合并运算符的占位符。上面的表达式等效于使用三级运算符: x = someTestForNotNull( possiblyNul
在许多语言中的一个共同特征,Null Coalescing运算符是一个二进制运算符,常用于缩短类型的表达式:
x = possiblyNullValue NCO valueIfNull

其中NCO是语言的空合并运算符的占位符。上面的表达式等效于使用三级运算符:

x =  someTestForNotNull( possiblyNullValue ) ? possiblyNullValue : valueIfNull

空合并运算符的优点

>更可读的代码(特别是长的描述性变量名)
>降低排版错误的可能性(测试的var仅键入一次)
>对测试变量不进行双重评估,其中被测变量是一个getter,因为它被访问过一次(或需要缓存它来有意避免双重评估)。

从Swift 2.2(Xcode 6,beta 5)它的?
var x: Int?
var y: Int? = 8

var z: Int = x ?? 9000
// z == 9000

z = y ?? 9001
// z == 8

一个 ?? b相当于下面的代码:

a != nil ? a! : b

和Beta 6一样,你可以这样做:

x ?? y ?? 1 == 8

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读