整体enum的定义非常简单也符合我们的直观感受。 enum Gender { Unspecified = 0, Female = 1, Male = 2, } 但是访问的时候稍微麻烦一点儿,因为我们需要在运行期间判断具体的类型,所以match匹配语法就成了必需品。if let是匹配语法的一种缩写形式。整体的匹配语法还是很友好的。 #[derive(Debug)] enum Gender {...
2、枚举(Enum) 枚举是一种自定义的数据类型,它可以表示多个可能的值。枚举使用enum关键字定义,并可以包含不同的变体(variant)。 以下是一个枚举的示例: enum Fruit { Apple, Banana, Orange, } fn main() { let fruit: Fruit = Fruit::Apple; match fruit { Fruit::Apple => println!("It's an apple!
该文件定义了一系列的struct和enum,用于表示模式匹配的不同方面和语义。 Candidate<'pat, 'tcx>:表示模式匹配的候选项,包含了一个匹配的模式和对应的操作。 Binding<'tcx>:表示一个模式绑定,即将匹配的值绑定到一个变量上。 Ascription<'tcx>:表示一个模式的类型限制,用于指定匹配的值的类型。 MatchPair<'pat, ...
}fnvalue_in_cents(coin: Coin)->u8{matchcoin { Coin::Penny =>1, Coin::Nickel =>5, Coin::Dime =>10, Coin::Quarter =>25, } } 此外,match还可以支持模式中绑定值。 enumUsState{ Alabama, Alaska,// --snip--}enumCoin{ Penny, Nickel, Dime,Quarter(UsState), }fnvalue_in_cents(coin:...
enum与struct混合使用 enum类型绑定数据类型 Option枚举 match控制流结构 枚举绑定值的情况 匹配Option枚举 占位符 if let 简洁控制流 总结 枚举的定义 创建枚举类型 enumNUM { one, two, } 我们创建了一个枚举类型,此枚举包含两个枚举变量,one和two
enum是Rust语言中的枚举类型,允许定义多个相关的值。通过`::`操作符访问枚举的值,如`let name = CityKind::sh;`。枚举支持附加数据,有助于定义方法,并通过`match`语句捕获和处理值。在处理可能不存在的值时,Option枚举成为Rust中的优选方式。它提供了比NULL更安全的处理机制,避免了因NULL引起的...
2、枚举(Enum) 枚举是一种自定义的数据类型,它可以表示多个可能的值。枚举使用enum关键字定义,并可以包含不同的变体(variant)。 以下是一个枚举的示例: 代码语言:javascript 复制 enumFruit{Apple,Banana,Orange,}fnmain(){letfruit:Fruit=Fruit::Apple;match fruit{Fruit::Apple=>println!("It's an apple!"...
在Rust中,match语句可以用于处理复杂数据类型,如结构体、枚举等。当处理复杂数据类型时,你需要根据数据结构的变体来选择相应的匹配分支。下面是一些示例: 结构体 struct Person { name: String, age: u32, } fn main() { let person = Person { name: String::from("Alice"), age: 30 }; match person...
enum Shape {Rectangle { width: f32, height: f32 },Triangle { side: f32 },Circle { radius: f32 },} 接下来为Shape增加两个方法来分别计算周长和面积。示例代码如下: impl Shape {/// 计算周长pub fn perimeter(&self) -> f32 {match self {Shape::Rectangle { width, height } => width *...
Rust 的结构体类似于 C,使用关键字struct声明。 struct User { active: bool, sign_in_count: u32, username: String, email: String } 1. 2. 3. 4. 5. 6. 结构体中的每个元素称为“字段”(field),字段是可变的(mutable),使用.来访问字段的值。