本文概述
- 枚举的语法
- 例如
- 枚举值
枚举的语法
enum enum_name{variant1, variant2, ..}
【什么是Rust Enum(基本介绍和用法)】在上面的语法中, enum_name是枚举的名称, variant1, variant2, ..是与枚举名称相关的枚举值。
例如
enum Computer_language{C, C++, Java, }
在上面的示例中, computer_language是枚举名称, C, C ++, Java是computer_language的值。
枚举值让我们创建每个变体的实例。看起来像:
let c = Computer_language :: C;
let cplus = Computer_language :: C++;
let java = Computer_language :: Java;
在上述情况下, 我们创建了三个实例, 即c, cplus, java, 分别包含值C, C ++, Java。枚举的每个变体都已在其标识符下命名, 并使用双冒号。这是有用的, 因为Computer_language :: C, Computer_language :: C ++, Computer_language :: Java属于同一类型, 即Computer_language。
- 我们还可以在特定实例上定义一个函数。让我们定义一个采用Computer_language类型实例的函数;那么它看起来像:
fn language_type(language_name::Computer_language);
可以通过以下任意一种方式调用此函数:
language_type(Computer_language :: C++);
让我们通过一个例子来理解。
#[derive(Debug)]enum Employee {Name(String), Id(i32), Profile(String), }fn main() {let n = Employee::Name("Hema".to_string());
let i = Employee::Id(2);
let p = Employee::Profile("Computer Engineer".to_string());
println!(" {:?} s {:?} b {:?}", n, i, p);
}
输出
Name("Hema") s Id(2) b Profile("Computer Engineer")
在上面的示例中, Employee是一个自定义数据类型, 其中包含三个变体, 例如Name(String), Id(i32), Profile(String)。 “ :?” 用于打印每个变量的实例。
推荐阅读
- Rust结构方法语法
- 什么是结构(Rust结构用法)
- Rust什么是切片(详细用法————)
- Rust引用和借入用法详解
- Rust while循环语句用法解释
- Rust 循环语句用法解释
- Rust if语句介绍和用法图解
- Rust安装步骤详细图解
- Rust let中的if语句用法