Dev Study
Rust コース

17. パターンマッチ match

match は値をパターンと照合して分岐する式です。match value { パターン => 処理, ... } の形で書き、enum のバリアントごとの分岐や、バリアントが持つデータの取り出しが1つの構文でできます。

match の最大の特徴は「網羅性チェック」です。分岐の漏れがあるとコンパイルエラーになるため、enum にバリアントを追加したとき、対応し忘れた match をコンパイラがすべて教えてくれます。

すべてを列挙したくない場合は _ => ... で「それ以外」をまとめられます。ただし _ を多用すると網羅性チェックの恩恵が減るので、enum 相手ではなるべく全バリアントを書くのが経験則です。

▶ サンプルコードを実行してみよう(自由に書き換えてOK)

Rust
公式ドキュメントで詳しく ↗