枚举是什么
枚举从广义的理解可以是一个可被列举的集合 如周一到周日,这就是一个枚举。 枚举的两个特性:- 可被列举的集合(不能是无穷尽的)
- 不可变性(一周7天我有生之年应该不会变了)
为什么需要枚举
需要能看懂!是为了让计算机语言更加偏向自然语言,也就是偏向鱼人能理解的话。 简单的来说就是提高代码的可读性。示例:
enum Week {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday,
}
let today = Week::Tuesday;
Rust中的枚举怎么使用
枚举类型是一个类型,它会包含所有可能的枚举成员, 而枚举值是该类型中的具体某个成员的实例。
定义枚举类型
enum Week {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday,
}
声明枚举值
let today = Week::Tuesday;
多类型的枚举值
enum Message {
Quit,
Move { x: i32, y: i32 },// 结构体
Write(String),//string
ChangeColor(i32, i32, i32),//元组
}
fn main() {
let m1 = Message::Quit;
let m2 = Message::Move{x:1,y:1};
let m3 = Message::ChangeColor(255,255,0);
}