Swift语法问题:var a:Int64=-7



我正在玩苹果的新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在赋值和一元前缀运算符之间有明显的区别。

最新更新