rust学习(第九天)

23.Rust枚举类
#[derive(Debug)]

enum Book {
Papery, Electronic
}

fn main() {
let book = Book::Papery;
println!("{:?}", book);
}

也可以为枚举成员添加元组属性描述
enum Book {
Papery(u32),
Electronic(String),
}

如果你想为属性命名,可以用结构体语法:
enum Book {
Papery { index: u32 },
Electronic { url: String },
}
let book = Book::Papery{index: 1001};
虽然可以如此命名,但请注意,并不能像访问结构体字段一样访问枚举类绑定
的属性。访问的方法在 match 语法中。

match语法
枚举的目的是对某一类事物的分类,分类的目的是为了对不同的情况进行描述。
基于这个原理,往往枚举类最终都会被分支结构处理
(许多语言中的 switch )。 switch 语法很经典,但在 Rust 中并不支持,
很多语言摒弃 switch 的原因都是因为 switch 容易存在因忘记添加 break
而产生的串接运行问题,Java 和 C# 这类语言通过安全检查杜绝这种情况出现。
Rust 通过 match 语句来实现分支结构。
先认识一下如何用 match 处理枚举类:
fn main() {
enum Book {
Papery {

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值