Dev Study
← 解説「変数と可変性 — let と mut」に戻る

サンプルコードで身につける: 変数と可変性 — let と mut

解説で学んだ概念を、5つの具体例で確認します。素朴な例から実務寄りの例へと進みます。

1let で作る最初の不変変数

let で変数を宣言して println! で表示するだけの最小の例です。mut を付けていないので、この answer は二度と書き換えられない「不変」の変数になります。設定値や計算結果など「一度決めたら変わらない値」は、実務コードのほとんどを占めます。

Rust

2不変変数への再代入はコンパイルエラー

不変の変数に再代入しようとするとどうなるかを示す例です。コメントを外すと「cannot assign twice to immutable variable」というエラーでコンパイル自体が通りません。実務では「単価や上限値をうっかり書き換えてしまった」というバグを、実行する前にコンパイラが止めてくれます。

Rust

3mut で書き換えられるカウンタ

let mut を付けると値を更新できることを示す例です。count += 1 のような複合代入も、mut が付いているからこそ書けます。処理した件数を数えるカウンタは、ログ集計やバッチ処理などあらゆる実務コードに登場する典型的な「可変にすべき変数」です。

Rust

4残高の入出金 — 状態の変化は mut で表す

口座残高のように「時間とともに変わっていく状態」を mut の変数で表す例です。balance = balance - 300 のように、今の値を使って次の値を計算して入れ直します。在庫数・ポイント残高・HPなど、増減する数値の管理はこのパターンの繰り返しです。

Rust

5不変の設定値と可変の状態を分ける

「変わらない値は let、変わる値だけ let mut」という使い分けを1つのプログラムで見る例です。単価 unit_price は不変なので、合計の計算中に誤って書き換える事故が起きません。実務でも、設定値は不変・集計中の値は可変、と宣言の時点で役割を分けるのが Rust らしい書き方です。

Rust