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")
}

可以为枚举类型定义方法。

posted @ 2022-01-31 15:17  鱼又悲  阅读(155)  评论(0编辑  收藏  举报