Rust 程序设计语言 简体中文版 1.85.0只在键尚不存在时插入键值对 我们经常会检查某个特定的键是否已经存在于哈希 map 中并进行如下操作:如果哈希 map 中键已经存在则不做任何操作;如果不存在则连同值一块插入。 为此哈希 map 有一个专用的 API,叫做 entry,它获取我们想要检查的键作为参数。entry 函 数的返回值是一个枚举 Entry 它代表了可能存在也可能不存在的值。比如说我们想要检查黄队 的键是否关联了一个值。如果没有,就插入值 然而,这并不是一个理想的解决方案:如果让程序仅仅处理 1 到 100 之间的值是一个绝对需 要满足的要求,而且程序中的很多函数都有这样的要求,在每个函数中都有这样的检查将是非 常冗余的(并可能潜在地影响性能)。 相反我们可以在一个专用的模块中创建一个新类型来将验证放入创建其实例的函数中,而不是 到处重复这些检查。这样就可以安全地在函数签名中使用新类型并相信它们接收到的值。示例 9-13 中展示了一个定义 Guess 类型的方法,只有在 共享状态的方法。对于高级语言 来说,只实现可能解决方案的子集是一个合理的策略,因为高级语言所许诺的价值来源于牺牲 一些控制来换取抽象。然而对于底层语言则期望提供在任何给定的情况下有着最高的性能且对 硬件有更少的抽象。因此,Rust 提供了多种工具,以符合实际情况和需求的方式来为问题建 模。 如下是本章将要涉及到的内容: • 如何创建线程来同时运行多段代码。 • 消息传递(Message pas0 码力 | 562 页 | 3.23 MB | 23 天前3
共 1 条
- 1













