更改结构本身值的结构方法必须以mutating关键字为前缀
struct Counter { private var value = 0 mutating func next() { value += 1 } }
这些mutating方法仅适用于变量内部的结构值。
var counter = Counter() counter.next()
另一方面,mutating方法不适用于常量内的结构值
let counter = Counter() counter.next() // 错误:无法在不可变值上使用变异成员:“计数器”为“ let”常量