问题很简单,但是我找不到答案!
为什么不
return x == 0? "" : "Hello"
编译但是
return x == 0 ? "" : "Hello"
有吗
这真的很奇怪,因为所有其他运算符都不需要多余的空格。例如
let x = 1+1
let y = 1 + 1
是相同的。
我认为这与可选项有关。但是,当您?
在变量上使用运算符时,必须像这样使用它:
let s: String? = nil
let x = s?.startIndex
我的意思是必须跟随另一个操作员,对吗?
我认为这与可选项有关。
是的 关于操作员的文档说:
规则[关于运算符周围的空白]有一个警告。如果
!
或?
预定义运算符在左侧没有空格,则无论其右侧是否有空格,都将被视为后缀运算符。要将?
用作可选链接运算符,它的左侧不得有空格。要在三元条件(?
:
)运算符中使用它,它的两侧都必须有空格。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句