我正在玩Apple的新Swift语言。以下代码段可以成功生成结果:
var a:Int64 = -7
println(a)
但是,如果我将代码更改为:
var a:Int64 =-7
println(a)
我得到错误:
错误:(12,12)一行上的连续语句必须用';'
分隔
似乎Swift认为=-
是一个运算符,在Swift中不存在。如果是这样,为什么会产生该错误?
答案 0 :(得分:2)
Swift非常严格,以避免=-
中var a:Int64 =-7
中的运算符含糊不清,基本上意味着一元前缀运算符,在这种情况下是未定义的。 =-
不能分为两部分,因为没有分隔符,任何时候都可以定义=-
运算符。为避免任何歧义,请使用空格。 var a:Int64 = -7
在赋值和一元前缀运算符之间有明确的区分。