← Rust コース
16. 列挙型 enum
enum は「取りうる値の種類を列挙する」型です。enum Status { Loading, Success, Error } のように定義し、Status::Loading の形で値を作ります。変数に入るのは、列挙したバリアントのどれか1つだけです。
実務では「状態は Loading / Success / Error のどれか」のような排他的な状態を表すのに使います。文字列や数値のフラグで状態を表すのと違い、あり得ない値が型レベルで存在できなくなります。
定義の上に #[derive(Debug)] を付けると、println! の {:?} でバリアント名をそのまま表示でき、動作確認に便利です。バリアントにデータを持たせることもでき、その取り出し方は次の match のレッスンで学びます。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
Rust