一尘不染

快速设置空间的规则是什么

swift

我在swift的操场上练习,我不知道为什么swift对于程序员应该在哪里提供空间以及哪里没有提供空间太具体。我在许多站点和聊天室问了这个问题,但没有任何答案。

var j: Int = 34 // Right
var j:Int=23 //Wrong

还有,在课堂上

self.variable-= 5 //Wrong. Error: Consecutive statements must be followed by ;
self.variable-=5 // Right
self.variable -= 5 // Right

;

甚至这个“:”有时也会引起一些空格问题。

我认为空格对代码绝对没有影响。通常只是为了程序员的利益。它只是使代码更具可读性。阅读有关空间的所有快速规则的最佳资源是什么?


阅读 210

收藏
2020-07-07

共1个答案

一尘不染

您的问题第二部分的答案可以在这里找到swift
docs

运算符周围的空白用于确定将运算符用作前缀运算符,后缀运算符还是二进制运算符。以下规则总结了此行为:

如果运算符的两边或两边都没有空格,则将其视为二进制运算符。例如,a + b和a + b中的+运算符被视为二进制运算符。

如果运算符仅在左侧具有空格,则将其视为前缀一元运算符。例如, b中的运算符被视为前缀一元运算符。

如果运算符仅在右侧具有空格,则将其视为后缀一元运算符。例如,a b中的运算符被视为后缀一元运算符。

如果运算符的左侧没有空格,但是紧跟着一个点(。),则将其视为后缀一元运算符。例如,a 。b中的运算符被视为后缀一元运算符(a
.b而不是
.b)。

等等…(有关更多信息,请阅读文档)

至于问题的第一部分,我没有发现任何一种声明变量的问题。

var j: Int = 34
var j:Int=23

提供的代码的唯一问题是,您在同一范围内两次声明了j。尝试将j之一更改为x或y或其他。

如果您想知道

var j:Int =10

要么

var j:Int= 10

看上面的规则。=是运算符,因此如果您要执行任何一个操作,它将被视为前缀或后缀,并且会收到以下错误:前缀/后缀=保留

由于存在一元运算符,例如一元加和一元减运算符,因此这些规则非常重要。编译器需要能够区分二进制加号和一元加号运算符。运营商名单

2020-07-07