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

标签 swift syntax variable-assignment

我正在使用 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/

相关文章:

ios - 禁用不同 ViewController 中的按钮 - Swift 3

ios - 初始化自定义类 UIVIew

ios - 使用 UICollectionViewDiffableDataSource 和 NSFetchedResultsController 重新排序单元格

java - 这两种在 Java 中初始化字段的方法有什么区别?

ios - 解析指针值返回 nil 的查询

ruby - ".includes?"中的问号在 ruby​​ 中是什么意思?

c# - MySQL :syntax using in C#

syntax - Markdown 中的制表符空间

objective-c - "Expression is not assignable"-- 在 Xcode 中将 float 分配为其他两个 float 的总和时出现问题?

c++ - C++ 中的 "Y does not name a type"错误