Swift Language Mutare una Struct


Esempio

Un metodo di una struttura che modifica il valore della struttura stessa deve essere preceduto dalla parola chiave mutating

struct Counter {
    private var value = 0
    
    mutating func next() {
        value += 1
    }
}

Quando puoi usare i metodi di muting

I metodi mutating sono disponibili solo sui valori della struttura all'interno delle variabili.

var counter = Counter()
counter.next()

Quando NON puoi usare metodi di muting

D'altra parte, i metodi di mutating NON sono disponibili sui valori di struct all'interno di costanti

let counter = Counter()
counter.next()
//  error: cannot use mutating member on immutable value: 'counter' is a 'let' constant