我正在玩苹果的新Swift语言。下面的代码片段可以成功地产生一个结果:
var a:Int64 = -7
println(a)
但是,如果我将代码更改为:
var a:Int64 =-7
println(a)
我会得到错误:
错误:一行中的(12,12)个连续语句必须用";"分隔
Swift似乎认为=-
是一个运算符,而这在Swift中是不存在的。如果是这样,为什么会产生错误?
Swift非常严格,以避免运算符中的歧义var a:Int64 =-7
中的=-
基本上是指一元前缀运算符,在这种情况下是未定义的。=-
不能一分为二,因为没有分隔符,并且=-
运算符可以随时定义。为了避免任何歧义,请使用空格。var a:Int64 = -7
在赋值和一元前缀运算符之间有明显的区别。