Rust エラー「cannot assign twice to immutable variable xxx」が発生した場合の対処法

Rust エラー「cannot assign twice to immutable variable xxx」が発生した場合の対処法

Rustで、エラー「cannot assign twice to immutable variable `xxx`」が発生した場合の対処法を記述してます。変更不可な値を変更しようとした際に発生します。Rustのバージョンは1.66.0を使用してます。

環境

  • OS windows11 home
  • rustc 1.66.0

エラー全文

以下のコードで発生

fn main() {

    let n = 0;

    println!("{}", n);

    n = 1;

    println!("{}", n);

}

エラー全文

error[E0384]: cannot assign twice to immutable variable `n`
 --> sample.rs:7:5
  |
3 |     let n = 0;
  |         -
  |         |
  |         first assignment to `n`
  |         help: consider making this binding mutable: `mut n`
...
7 |     n = 1;
  |     ^^^^^ cannot assign twice to immutable variable

error: aborting due to previous error

For more information about this error, try `rustc --explain E0384`.

原因

letだと、イミュータブル(変更不可)として、オブジェクトが生成されるため

対処法

変更が可能なミュータブルにするため「mut」を使用する

fn main() {

    let mut n = 0;

    println!("{}", n);

    n = 1;

    println!("{}", n);

}