当键存在时,我试图在HashMap<String, Vec<String>>
中的Vec<String>
中添加一个值,而当键不存在时,则创建一个新条目。我正在尽我所能遵循这方面的文档,但仍然收到这个错误:
error[E0433]: failed to resolve: use of undeclared type `Entry`
对于以下代码:
use std::collections::HashMap;
fn main() {
let mut dir: HashMap<String, Vec<String>> = HashMap::new();
let group = String::from("Sales");
let emp = String::from("Bob");
match dir.entry(group) {
Entry::Vacant(e) => e.insert(vec![emp]),
Entry::Occupied(mut e) => e.get_mut().push(emp)
}
println!("{:?}", dir)
}
类型必须在作用域中才能引用它。因此,您必须为std::collections::hash_map::Entry
添加一个use
声明,或者每次编写时都完全限定它。