Rust 枚举、模式匹配与模块系统详解
1. 枚举与模式匹配
在 Rust 中,枚举和模式匹配是非常强大的特性。当我们处理 none 值时,可能希望运行其他代码,但这些代码可能不需要 T 值。使用 match 表达式结合枚举就能很好地实现这一需求,它可以根据枚举的不同变体运行不同的代码,并且这些代码可以使用匹配值中的数据。
1.1 match 控制流运算符
match 是 Rust 中强大的控制流运算符,它能将一个值与一系列模式进行比较,然后根据匹配的模式执行相应的代码。模式可以由字面量、变量名、通配符等组成。模式的表达能力以及编译器对所有可能场景的检查,赋予了 match 强大的功能。
可以将 match 表达式类比为一个硬币分拣机。硬币沿着带有不同大小孔洞的轨道滑落,每个硬币会落入它遇到的第一个合适的孔洞。同样,值会依次通过 match 中的每个模式,如果值与某个模式匹配,就会执行与该模式关联的代码块。
以下是一个使用硬币枚举的示例:
enum Coins {
Penny,
Nickel,
Dime,
Quarter,
}
fn value_in_cents(coin: Coins) -> u8 {
match coin {
Coins::Penny =&g
超级会员免费看
订阅专栏 解锁全文
663

被折叠的 条评论
为什么被折叠?



