在Swift中分开操作

为什么我不断得到错误?

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

其实我也尝试过这个:

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

谢谢

Swift 对运营商周围的空白有严格的规定 。 除以’/’是二元运算符

重要的规则是:

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

这意味着您需要在/之前添加一个空格,或者删除它后面的空格以指示它是二元运算符:

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

如果你想将rotation作为Float,你应该使用它而不是Double:

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

没有必要明确指定类型,因为它将从您分配给的值推断出来。 此外,您不需要将文字显式构造为特定类型,因为它们将符合您使用它们的类型。

Interesting Posts