【问题标题】:what are the rules for spaces in swiftswift中空格的规则是什么
【发布时间】:2015-07-08 19:16:05
【问题描述】:

我在 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

;

即使这个“:”有时也会产生一些空格问题。

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

【问题讨论】:

    标签: swift swift-playground


    【解决方案1】:

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

    运算符周围的空格用于确定运算符是用作前缀运算符、后缀运算符还是二元运算符。此行为总结为以下规则:

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

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

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

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

    等等...(阅读文档了解更多信息)

    至于你问题的第一部分,我没有看到任何声明变量的方式有任何问题。

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

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

    如果你想知道

    var j:Int =10
    

    var j:Int= 10
    

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

    这些规则很重要,因为存在诸如一元加号和一元减号运算符之类的运算符。编译器需要能够区分二元加号和一元加号运算符。 List of operators

    【讨论】:

      猜你喜欢
      • 2011-12-27
      • 2017-06-28
      • 2011-08-21
      • 2021-10-04
      • 2018-01-26
      • 2015-12-10
      • 1970-01-01
      • 2018-09-03
      • 2017-05-23
      相关资源
      最近更新 更多