在Swift中分开操作

时间:2014-07-25 20:30:46

标签: ios swift

为什么我会不断得到错误?

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

其实我也尝试过这个:

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

谢谢

1 个答案:

答案 0 :(得分:3)

斯威夫特有strict rules about the whitespace around operators。划分' /'是二元运算符

重要的规则是:

  
      
  • 如果操作员在两侧或周围都没有空白   一边,它被视为二元运算符。例如,+   a + b和a + b中的运算符被视为二元运算符。
  •   
  • 如果操作员只在左侧有空格,则将其视为a   前缀一元运算符。例如,++ 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)

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