首页 > 解决方案 > 在golang中连接两个地图

问题描述

我知道appendgolang 中的函数,但是是否有类似的函数来附加两个地图。

slice1 := []string{"hello"}
slice2 := []string{"world"}

combined := append(slice1, slice2...)

我试图用地图做同样的事情,但它给了我这个错误:

append 的第一个参数必须是 slice;有地图[字符串]字符串

有没有一种方法可以在 go 中附加两个地图?

标签: go

解决方案


只写一两个循环。

map1 := map[string]int{
    "one": 1,
    "two": 2,
}
map2 := map[string]int{
    "uno": 1,
    "dos": 2,
}

combined := map[string]int{}
for k, v := range map1 {
    combined[k] = v
}
for k, v := range map2 {
    combined[k] = v
}

fmt.Println(combined) // map[dos:2 one:1 two:2 uno:1]

在操场上试试

当然,如果两个映射具有重叠的键集,则顺序很重要。


推荐阅读