ミュータビリティ
変数はデフォルトでイミュータブル(変更不可能)ですがmut
構文を使用することで変更可能になります。
fn main() { let _immutable_binding = 1; let mut mutable_binding = 1; println!("Before mutation: {}", mutable_binding); // 問題ありません。 mutable_binding += 1; println!("After mutation: {}", mutable_binding); // エラー!イミュータブルな変数に新しい値を代入することはできません。 _immutable_binding += 1; }
コンパイラはミュータビリティに関するエラーの詳細を出してくれます。