Avatar ·

如何在 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 有关,但不知道如何正确更新值。 请指