一尘不染

Swift中的分割操作

swift

为什么我经常出错?

 var rotation:Float= Double(arc4random_uniform(50))/ Double(100-0.2)

其实我也尝试过这个:

 var rotation:Double= Double(arc4random_uniform(50))/ Double(100-0.2)

谢谢


阅读 245

收藏
2020-07-07

共1个答案

一尘不染

Swift对于运算符周围的空白严格的规定。除’/’是
二进制运算符

重要规则是:

  • 如果运算符的两边或两边都没有空格,则将其视为二进制运算符。例如,a + b和a + b中的+运算符被视为二进制运算符。
  • 如果运算符仅在左侧具有空格,则将其视为前缀一元运算符。例如, b中的运算符被视为前缀一元运算符。
  • 如果运算符仅在右侧具有空格,则将其视为后缀一元运算符。例如,a b中的运算符被视为后缀一元运算符。

这意味着您需要在之前添加一个空格/或在其之后删除该空格以表明它是一个二进制运算符:

var rotation = Double(arc4random_uniform(50)) / (100.0 - 0.2)

如果要rotation成为Float,则应使用它而不是Double:

var rotation = Float(arc4random_uniform(50)) / (100.0 - 0.2)

无需显式指定类型,因为将从您分配的值中推断出该类型。同样,您不需要将文字直接构造为特定类型,因为它们将与您使用它们的类型一致。

2020-07-07