dictionary - 如何在 go 中合并两个 map ?

标签 dictionary go union

我有一个递归函数,它创建表示文件路径的对象(键是路径,值是有关文件的信息)。它是递归的,因为它只用于处理文件,所以如果遇到目录,就会在目录上递归调用该函数。

话虽如此,我想在两个 map 上做一个集合并集(即用递归调用的值更新的“主” map )。除了迭代一个 map 并将其中的每个键、值分配给另一个 map 中的相同事物之外,是否有一种惯用的方法来做到这一点?

即:给定a,b的类型是map [string] *SomeObject,并且ab 最终被填充,有没有办法用 b 中的所有值更新 a

最佳答案

没有内置方法,标准包中也没有任何方法可以进行这种合并。

惯用的方式是简单地迭代:

for k, v := range b {
    a[k] = v
}

关于dictionary - 如何在 go 中合并两个 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22621754/

相关文章:

python - 如何将字典表写入文本文件?

go - 如何深拷贝对象

Golang切换cmd.Stdout是否安全

mysql - 在 LEFT JOIN 查询中包含第三个表

sql - 是否可以在从 2 个表创建的复杂 View 中插入新行?

python - 如何对包含字典元素的列表求和

python - Python 中的二维与一维字典效率

python - 如何查找字典值的长度

go - Go 中的 Getter 和 Setter 约定

mysql - 在 NOT IN 内部使用 UNION