Rust - 枚举
-
简述
在 Rust 编程中,当我们必须从可能的变体列表中选择一个值时,我们使用枚举数据类型。枚举类型使用enum关键字声明。以下是枚举的语法 - -
说明:使用枚举
该示例声明了一个枚举 - GenderCategory,它具有男性和女性的变体。该打印!宏显示枚举的值。编译器将抛出一个错误,特征 std::fmt::Debug 没有为 GenderCategory 实现。属性#[derive(Debug)]用于抑制此错误。输出
-
结构体和枚举
下面的示例定义了一个结构 Person。字段性别是GenderCategory类型(它是一个枚举),可以指定男性或女性作为值。该示例创建了 Person 类型的对象p1和p2,并为每个对象初始化了属性、名称和性别。输出
-
Option 枚举
Option 是 Rust 标准库中预定义的枚举。这个枚举有两个值 - Some(data)和 None。句法
这里,类型T代表任何类型的值。Rust 不支持null关键字。值None,在enumOption,可以通过函数用于返回空值。如果有数据要返回,函数可以返回Some(data)。让我们通过一个例子来理解这一点 -该程序定义了一个函数is_even(),返回类型为 Option。该函数验证传递的值是否为偶数。如果输入是偶数,则返回值 true ,否则函数返回None。输出
-
match 语句和枚举
match语句可用于比较存储在一个枚举值。以下示例定义了一个函数print_size,它将CarType枚举作为参数。该函数将参数值与一组预定义的常量进行比较,并显示相应的消息。输出
-
与 Option 匹配
is_even函数的例子,它返回 Option 类型,也可以用 match 语句来实现,如下所示 -输出
-
匹配和枚举数据类型
可以向枚举的每个变体添加数据类型。在以下示例中,枚举的 Name 和 Usr_ID 变体分别是 String 和 integer 类型。以下示例显示了将 match 语句与具有数据类型的枚举一起使用。输出