Rust枚举类型
使用 enum 定义枚举类型。
比如,通过 enum 声明一个名为 IpAddrKind 的枚举,其包含所有可能的 IP 地址种类 —— V4 和 V6,在 Rust 中 V4 和 V6 这些枚举可能 出现的情况被称为 枚举变体(variant):
enum IpAddrKind {
V4,
V6,
}
创建枚举类型的实例:
let four = IpAddrKind::V4;
let six = IpAddrKind::V6;
枚举允许我们直接将其关联的数据嵌入到枚举变体中。示例程序:
#[derive(Debug)]
enum IpAddr {
V4(u8, u8, u8, u8),
V6(String),
}
fn main() {
let localhost = IpAddr::V4(127, 0, 0, 1);
let loopback = IpAddr::V6(String::from("::1"));
println!("{:?} {:?}", localhost, loopback); // 输出 V4(127, 0, 0, 1) V6("::1")
}
可以为枚举类型定义方法。