Rust 程序设计语言 简体中文版 1.85.0entry 方法只在键没有对应一个值时插入 Entry 的 or_insert 方法在键对应的值存在时就返回这个值的可变引用,如果不存在则将参数 作为新值插入并返回新值的可变引用。这比编写自己的逻辑要简明的多,另外也与借用检查器 结合得更好。 运行示例 8-24 的代码会打印出 {"Yellow": 50, "Blue": 10}。第一个 entry 调用会插入黄队 的键和值 50,因为黄队并没有一个值。第二个 现在我们完成了配置解析的重构,让我们转向程序的逻辑。正如“二进制项目的关注分离”部分 所展开的讨论,我们将提取一个叫做 run 的函数来存放目前 main 函数中不属于设置配置或处 理错误的所有逻辑。一旦完成这些,main 函数将简明得足以通过观察来验证,而我们将能够 为所有其他逻辑编写测试。 示例 12-11 展示了提取出来的 run 函数。目前我们只进行小的增量式的提取函数的改进。我 们仍将在 src/main.rs 中定义这个函数: 296/562Rust 程序设计语言 简体中文版 } results } 示例 13-21:示例 12-19 中 search 函数的定义 可以通过使用迭代器适配器方法来编写更简明的代码。这样做还可以避免使用一个可变的中间 results vector。函数式编程风格倾向于最小化可变状态的数量来使代码更清晰。去除可变状 态可能会使未来的并行搜索优化变得更容易,因为我们不必管理对0 码力 | 562 页 | 3.23 MB | 24 天前3
共 1 条
- 1













