mut foo: Tbedeutet, dass Sie eine Variable namens fooa haben T. Sie können ändern, worauf sich die Variable bezieht :
let mut val1 = 2;
val1 = 3;
let val2 = 2;
val2 = 3;
Auf diese Weise können Sie auch Felder einer Struktur ändern, die Sie besitzen:
struct Monster { health: u8 }
let mut orc = Monster { health: 93 };
orc.health -= 54;
let goblin = Monster { health: 28 };
goblin.health += 10;
foo: &mut Tbedeutet, dass Sie eine Variable haben, die auf ( &) einen Wert verweist, und Sie dürfen ( mut) den referenzierten Wert ändern (einschließlich Felder, wenn es sich um eine Struktur handelt):
let val1 = &mut 2;
*val1 = 3;
let val2 = &2;
*val2 = 3;
Beachten Sie, dass dies &mutnur mit einer Referenz sinnvoll foo: mut Tist - keine gültige Syntax. Sie können die beiden Qualifikationsmerkmale ( let mut a: &mut T) auch kombinieren , wenn dies sinnvoll ist.
constundpointeeKonstante .