|
|
@ -149,7 +149,7 @@ println!("{:?}", scores);
|
|
|
|
|
|
|
|
|
|
|
|
<span class="caption">示例 8-25:使用 `entry` 方法只在键没有对应一个值时插入</span>
|
|
|
|
<span class="caption">示例 8-25:使用 `entry` 方法只在键没有对应一个值时插入</span>
|
|
|
|
|
|
|
|
|
|
|
|
`Entry` 的 `or_insert` 方法在键对应的值存在时就返回这个值的 `Entry`,如果不存在则将参数作为新值插入并返回修改过的 `Entry`。这比编写自己的逻辑要简明的多,另外也与借用检查器结合得更好。
|
|
|
|
`Entry` 的 `or_insert` 方法在键对应的值存在时就返回这个值的可变引用,如果不存在则将参数作为新值插入并返回新值的可变引用。这比编写自己的逻辑要简明的多,另外也与借用检查器结合得更好。
|
|
|
|
|
|
|
|
|
|
|
|
运行示例 8-25 的代码会打印出 `{"Yellow": 50, "Blue": 10}`。第一个 `entry` 调用会插入黄队的键和值 `50`,因为黄队并没有一个值。第二个 `entry` 调用不会改变哈希 map 因为蓝队已经有了值 `10`。
|
|
|
|
运行示例 8-25 的代码会打印出 `{"Yellow": 50, "Blue": 10}`。第一个 `entry` 调用会插入黄队的键和值 `50`,因为黄队并没有一个值。第二个 `entry` 调用不会改变哈希 map 因为蓝队已经有了值 `10`。
|
|
|
|
|
|
|
|
|
|
|
|