如何在 Rust 中修改可变 HashMap 中的值?
大家好!我刚开始学习 Rust,在处理 HashMap 时遇到了问题。
我有一个 mutable HashMap,存储了“用户名” -> “分数”的键值对。我想更新某个用户的分数,比如给某个用户加 10 分。这是我的代码:
```rust
use std::collections::HashMap;
fn main() {
let mut scores = HashMap::new();
scores.insert("Alice", 100);
scores.insert("Bob", 200);
// 尝试更新 Alice 的值
let alice_score = scores.get("Alice");
match alice_score {
Some(score) => {
*score += 10; // 错误!
},
None => println!("用户未找到"),
}
println!("{:?}", scores);
}
```
编译器报错:“cannot borrow `scores` as immutable because it is also borrowed as mutable”。我知道这与 borrowing rules 有关,但不知道如何正确更新值。
请指