← Rust コース
17. パターンマッチ match
match は値をパターンと照合して分岐する式です。match value { パターン => 処理, ... } の形で書き、enum のバリアントごとの分岐や、バリアントが持つデータの取り出しが1つの構文でできます。
match の最大の特徴は「網羅性チェック」です。分岐の漏れがあるとコンパイルエラーになるため、enum にバリアントを追加したとき、対応し忘れた match をコンパイラがすべて教えてくれます。
すべてを列挙したくない場合は _ => ... で「それ以外」をまとめられます。ただし _ を多用すると網羅性チェックの恩恵が減るので、enum 相手ではなるべく全バリアントを書くのが経験則です。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
Rust