小编Yaz*_*d D的帖子

在Rust中合并两个HashMaps

所以我有点卡住,试图合并两个HashMaps.

内联很容易:

fn inline() {
    let mut first_context = HashMap::new();
    first_context.insert("Hello", "World");
    let mut second_context = HashMap::new();
    second_context.insert("Hey", "There");

    let mut new_context = HashMap::new();
    for (key, value) in first_context.iter() {
        new_context.insert(*key, *value);
    }
    for (key, value) in second_context.iter() {
        new_context.insert(*key, *value);
    }
    println!("Inline:\t\t{}", new_context);
    println!("Inline:\t\t{}\t{} [Initial Maps Still Usable]", first_context, second_context);
}
Run Code Online (Sandbox Code Playgroud)

制作一个功能很容易:

fn abstracted() {
    fn merge<'a>(first_context: &HashMap<&'a str, &'a str>, second_context: &HashMap<&'a str, &'a str>) -> HashMap<&'a str, &'a str> {
        let mut new_context = HashMap::new();
        for (key, …
Run Code Online (Sandbox Code Playgroud)

rust

8
推荐指数
2
解决办法
4759
查看次数

标签 统计

rust ×1