Rust 程序设计语言 简体中文版 1.85.0} 示例 6-4:Quarter 变体也存放了一个 UsState 值的 Coin 枚举 想象一下我们的一个朋友尝试收集所有 50 个州的 25 美分硬币。在根据硬币类型分类零钱的 同时,也可以报告出每个 25 美分硬币所对应的州名称,这样如果我们的朋友没有的话,他可 以将其加入收藏。 在这些代码的匹配表达式中,我们在匹配 Coin::Quarter 变体的分支的模式中增加了一个叫做 state match 表达式就等同于 if let 和 else。回忆一下示例 6-4 中 Coin 枚举的定义, 其 Quarter 变体也包含一个 UsState 值。如果想要计数所有不是 25 美分的硬币的同时也报告 25 美分硬币所属的州,可以使用这样一个 match 表达式: let mut count = 0; match coin { Coin::Quarter(state) 进行适当的处理。 Rust 将错误分为两大类:可恢复的(recoverable)和 不可恢复的(unrecoverable)错误。对 于一个可恢复的错误,比如文件未找到的错误,我们很可能只想向用户报告问题并重试操作。 不可恢复的错误总是 bug 出现的征兆,比如试图访问一个超过数组末端的位置,因此我们要 立即停止程序。 大多数语言并不区分这两种错误,并采用类似异常(exception)这样方式统一处理它们。0 码力 | 562 页 | 3.23 MB | 25 天前3
共 1 条
- 1













