改变结构
更改结构本身值的结构方法必须以 mutating
关键字为前缀
struct Counter {
private var value = 0
mutating func next() {
value += 1
}
}
什么时候可以使用变异方法
mutating
方法仅适用于变量内的 struct 值。
var counter = Counter()
counter.next()
当你不能使用变异方法
另一方面,mutating
方法不适用于常量内的 struct 值
let counter = Counter()
counter.next()
// error: cannot use mutating member on immutable value: 'counter' is a 'let' constant