Rust 中的 enum
它不仅仅是一个 常量集合,而是一个代数数据类型(algebraic data type, ADT)。
它可以有多个变体(variant),而且每个变体可以携带不同的类型和不同的数量的数据。
enum Message {
Quit, // 不带数据
Move { x: i32, y: i32 }, // 带命名字段 (struct-like)
Write(String), // 带一个值(tuple-like)
ChangeColor(i32, i32, i32), // 带多个值(tuple-like)
}