📜  Rust-枚举(1)

📅  最后修改于: 2023-12-03 15:19:53.335000             🧑  作者: Mango

Rust-枚举

在Rust中,枚举类型是一种表示一组可能的值的数据类型。枚举可以帮助程序员编写更健壮、更可靠的代码,因为它们能防止程序员无意中使用非法的值。

创建枚举类型

要创建枚举类型,可以使用enum关键字,例如:

enum Fruit {
    Apple,
    Banana,
    Orange,
}

上面的代码定义了一个Fruit枚举类型,其中包括三个可能的值:AppleBananaOrange。枚举值通常写成大写字母开头的单词。

使用枚举类型

要使用枚举类型,可以将枚举值直接写在代码中,如:

let fruit = Fruit::Apple;

上面的代码将Fruit枚举类型中的Apple值分配给变量fruit

包含数据的枚举

枚举类型还可以包含与值相关的数据。例如,要创建一个包含价格的Fruit枚举,可以这样写:

enum Fruit {
    Apple(f64),
    Banana(f64),
    Orange(f64),
}

上面的代码中,每个Fruit都包含一个f64类型的价格。要创建一个Apple,可以这样写:

let fruit = Fruit::Apple(0.99);

上面的代码中,Apple枚举值包含一个价格为0.99的f64类型值。

匹配枚举值

在使用枚举类型时,经常需要匹配不同的枚举值并采取不同的动作。在Rust中,可以使用match表达式来实现这一目的。例如:

match fruit {
    Fruit::Apple(price) => {
        // do something with the price of an apple
    },
    Fruit::Banana(price) => {
        // do something with the price of a banana
    },
    Fruit::Orange(price) => {
        // do something with the price of an orange
    },
}

上面的代码中,match表达式匹配fruit变量的值,并采取相应的动作。例如,如果fruit是一个Fruit::Apple值,那么price变量将包含苹果的价格。

总结

Rust的枚举类型是一种非常强大的工具,可以帮助程序员编写更健壮、更可靠的代码。枚举类型可以防止程序员无意中使用非法的值,而且可以用于创建包含数据的值,还可以使用match表达式来匹配不同的枚举值并采取相应的动作。