Avatar ·

Was ist der Unterschied zwischen `mut` vor dem Variablennamen und nach dem Doppelpunkt in Rust?

Hallo zusammen! Ich habe vor kurzem angefangen, Rust zu lernen, und bin auf eine Verwirrung in der Syntax der Variablendeklaration gestoßen. In Tutorials sehe ich zwei verschiedene Arten, das Schlüsselwort `mut` zu verwenden, und ich kann den Unterschied zwischen ihnen nicht verstehen.\n\nDie erste Art – `mut` wird vor den Variablennamen gesetzt:\n\n```rust\nlet mut x = 5;\n```\n\nDie zweite Art – `mut` wird nach dem Doppelpunkt gesetzt, wenn der Typ angegeben wird:\n\n```rust\nlet x: mut i32 = 5;\n```\n\nIch habe beide Varianten in meinem Code ausprobiert, aber die zweite Variante verursacht einen Kompilierungsfehler. Hier ist ein Beispiel, das ich geschrieben habe:\n\n```rust\nfn main() {\n let mut a = 10; // funktioniert\n a += 5;\n \n let b: mut i32 = 20; // Fehler!\n b += 10;\n \n println!("a = {}, b = {}", a, b);\n}\n```\n\nDer Compiler sagt etwas wie "expected type, found keyword mut". Ich dachte