在Basic Operators部分,Swift编程语言指南指出++是一个有效的运算符:
“更复杂的例子包括逻辑AND运算符&& (如果是 进入DoodeCode&& passRetinaScan)和增量运算符++ i , 这是将i的值增加1 的快捷方式。“
摘自:Apple Inc.“The Swift Programming Language。”iBooks。 https://itun.es/gb/jEUH0.l
然而,在游乐场尝试时;
import UIKit
let i = 0
i++
构建错误显示:
swift一元运算符'++'不能应用于'Int'类型的操作数
为什么?
答案 0 :(得分:13)
是的,不是措辞最好的编译器错误。
问题是您已使用i
声明let
。由于整数是值类型,这意味着i
是不可变的 - 一旦赋值,就无法更改。
如果您将i
声明为var i = 0
,则代码会进行编译。
答案 1 :(得分:3)
您已将i
定义为let
不可变。请改为var i = 0
。