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

时间:2015-03-30 07:13:09

标签: swift syntax variable-assignment

我正在玩Apple的新Swift语言。以下代码段可以成功生成结果:

var a:Int64 = -7
println(a)

但是,如果我将代码更改为:

var a:Int64 =-7
println(a)

我得到错误:

  

错误:(12,12)一行上的连续语句必须用';'

分隔

似乎Swift认为=-是一个运算符,在Swift中不存在。如果是这样,为什么会产生该错误?

1 个答案:

答案 0 :(得分:2)

Swift非常严格,以避免=-var a:Int64 =-7中的运算符含糊不清,基本上意味着一元前缀运算符,在这种情况下是未定义的。 =-不能分为两部分,因为没有分隔符,任何时候都可以定义=-运算符。为避免任何歧义,请使用空格。 var a:Int64 = -7在赋值和一元前缀运算符之间有明确的区分。