Quelle est la différence entre `mut` avant le nom de la variable et après les deux-points en Rust ?
Bonjour à tous ! J'ai récemment commencé à apprendre Rust et j'ai rencontré une confusion dans la syntaxe de déclaration des variables. Dans les tutoriels, je vois deux manières différentes d'utiliser le mot-clé `mut`, et je n'arrive pas à comprendre la différence entre elles.
La première manière — `mut` est placé avant le nom de la variable :
```rust
let mut x = 5;
```
La deuxième manière — `mut` est placé après les deux-points, lorsque le type est spécifié :
```rust
let x: mut i32 = 5;
```
J'ai essayé les deux options dans mon code, mais la deuxième provoque une erreur de compilation. Voici un exemple que j'ai écrit :
```rust
fn main() {
let mut a = 10; // fonctionne
a += 5;
let b: mut i32 = 20; // erreur !
b += 10;
println!("a = {}, b = {}", a, b);
}
```
Le compilateur dit quelque chose comme "expected type, found keyword mut". Je pensais que `mut` pouvait être placé n'importe où, mais apparemment ce n'est pas le cas. Expliquez, s'il vous plaît, quelle est la différence entre ces deux options et pourquoi la deuxième ne fonctionne pas ? Y a-t-il des cas où `mut` après les deux-points est valide ?