Was ist der Unterschied zwischen unveränderlichen Variablen und Konstanten in Rust?
Hallo! Ich habe angefangen, Rust zu lernen, und bin bei einem grundlegenden Konzept verwirrt. In der Dokumentation steht, dass Variablen standardmäßig unveränderlich (immutable) sind und man `mut` verwenden muss, um sie zu ändern. Aber es gibt auch das Schlüsselwort `const`. Was ist der Unterschied zwischen ihnen?
Ich habe versucht, solchen Code zu schreiben:
```rust
const MAX_POINTS: u32 = 100_000;
let x = 5;
x = 6; // Fehler!
```
Und scheinbar können weder `MAX_POINTS` noch `x` nach der Initialisierung geändert werden. Aber der Compiler beschwert sich über `x = 6`, nicht über die Konstante. Warum? Und wenn ich eine unveränderliche Variable mit `let` deklarieren kann, wozu brauche ich dann überhaupt Konstanten? In welchen Fällen verwendet man `const` und in welchen `let`?
Außerdem ist mir aufgefallen, dass Konstanten immer einen Typ annotieren müssen, Variablen aber nicht immer. Hängt das mit ihrer Natur zusammen? Ich wäre dankbar für eine ausführliche Erklärung mit Beispielen, um dieses Thema ein für alle Mal zu verstehen.
Wichtige Unterschiede zwischen