改變結構
更改結構本身值的結構方法必須以 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