Go中将键值对从一个映射合并到另一个映射的最佳方法是什么?我正在使用一个简单的循环,但我想知道是否有类似PHP的东西array_merge可以使用.
bigmap := map[string]string{"a":"a", "b":"b", "c":"c"}
smallmap := map[string]string{"d":"d"}
for k, v := range smallmap {
bigmap[k] = v
}
Run Code Online (Sandbox Code Playgroud)
不,没有.
这不是那么有用,因为您编写的明确代码足够短并且具有不隐藏实现的优点.
如果需要,您可以自己动手:
func addmap(a map[string]string, b map[string]string) {
for k,v := range b {
a[k] = v
}
}
addmap(bigmap, smallmap)
Run Code Online (Sandbox Code Playgroud)
但是由于Go没有泛型,您必须为要使用的每个具体地图类型创建不同的函数.