列挙体
Rustの列挙体(enum)は、複数の関連する値を一つの型としてまとめるために使われます。以下に、Rustの列挙体の基本的な使い方を紹介します。
基本的な定義
Rustでは、enumキーワードを使って列挙体を定義します。例えば、色を表す列挙体を定義する場合は次のようになります。
#![allow(unused)] fn main() { enum Color { Red, Green, Blue, } }
値を持つ列挙体
列挙体の各バリアントに値を持たせることもできます。例えば、RGBカラーを表す場合は次のように定義します。
#![allow(unused)] fn main() { enum Color { RGB(u8, u8, u8), RGBA(u8, u8, u8, u8), } }
列挙体の使用
列挙体の値を使うには、match文を使って各バリアントに対して処理を行います。
enum Color { RGB(u8, u8, u8), RGBA(u8, u8, u8, u8), } fn main() { let color = Color::RGB(0, 255, 0); match color { Color::RGB(r, g, b) => println!("RGB({}, {}, {})", r, g, b), Color::RGBA(r, g, b, a) => println!("RGBA({}, {}, {}, {})", r, g, b, a), } }
列挙体の利点
- 型安全性: 列挙体を使うことで、特定の値の集合を型として扱うことができ、型安全性が向上します。
- 可読性: コードの可読性が向上し、意図が明確になります。
- パターンマッチング: match文を使って、各バリアントに対する処理を簡潔に記述できます。