相关疑难解决方法(0)

Swift是否具有空合并运算符,如果不是,那么自定义运算符的示例是什么?

许多语言中的一个共同特征是Null Coalescing Operator,它是一个二进制运算符,通常用于缩短类型的表达式:

x = possiblyNullValue NCO valueIfNull
Run Code Online (Sandbox Code Playgroud)

...这NCO是语言的空合并运算符的占位符.

Objective C的Null Coalescing运算符是?:,所以表达式为:

x = possiblyNullValue ?: valueIfNull
Run Code Online (Sandbox Code Playgroud)

上面的表达式也相当于使用第三运算符:

 x =  someTestForNotNull( possiblyNullValue ) ? possiblyNullValue : valueIfNull
Run Code Online (Sandbox Code Playgroud)

Null Coalescing Operator的优点

  • 更易读的代码(特别是长的描述性变量名称)
  • 减少印刷错误的可能性(测试的var仅键入一次)
  • 没有对测试变量进行双重评估,其中测试变量是一个getter,因为它访问过一次(或者需要将其缓存以有意避免双重评估).

swift

43
推荐指数
3
解决办法
1万
查看次数

标签 统计

swift ×1