当前位置:  开发笔记 > IOS > 正文

为什么swift中的三元运算符如此挑剔?

如何解决《为什么swift中的三元运算符如此挑剔?》经验,为你挑选了1个好方法。

问题很简单,但我找不到答案!

为什么不呢

return x == 0? "" : "Hello"

编译但是

return x == 0 ? "" : "Hello"

呢?

这真的很奇怪,因为所有其他运营商都不需要额外的空白区域.例如

let x = 1+1
let y = 1 + 1

是相同的.

我认为这与选项有关.但是当你?对变量使用运算符时,它必须像这样使用:

let s: String? = nil
let x = s?.startIndex

我的意思是它必须跟随另一个运营商,对吗?



1> BoltClock..:

我认为这与选项有关.

确实如此.关于运营商的文件说:

规则[关于运营商周围的空白]有一点需要注意.如果!?预定义运算符在左侧没有空格,则将其视为后缀运算符,而不管它是否在右侧有空格.要使用?可选链接运算符,它必须在左侧没有空格.要在三元条件(? :)运算符中使用它,它必须在两边都有空格.

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有