我正在使用 Apple 的新 Swift 语言。下面的代码片段可以成功产生结果:
var a:Int64 = -7
println(a)
但是,如果我将代码更改为:
var a:Int64 =-7
println(a)
我会收到错误:
Error:(12, 12) consecutive statements on a line must be separated by ';'
看来 Swift 认为 =-
是一个运算符,而 Swift 中不存在这个运算符。如果是这样,为什么会生成该错误?
最佳答案
Swift 非常严格地避免运算符 =-
中的歧义,var a:Int64 =-7
基本上意味着一元前缀运算符,在这种情况下是未定义的。 =-
不能分成两部分,因为没有分隔符,并且 =-
运算符可以随时定义。为了避免任何歧义,请使用空格。 var a:Int64 = -7
赋值运算符和一元前缀运算符之间有明确的区分。
关于Swift 语法问题 : var a:Int64 = -7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29340308/