在 Go 中将键值对从一个映射合并到另一个映射的最佳方法是什么?我正在使用一个简单的循环,但我想知道是否array_merge
可以使用类似 PHP 的东西。
bigmap := map[string]string{"a":"a", "b":"b", "c":"c"}
smallmap := map[string]string{"d":"d"}
for k, v := range smallmap {
bigmap[k] = v
}
在 Go 中将键值对从一个映射合并到另一个映射的最佳方法是什么?我正在使用一个简单的循环,但我想知道是否array_merge
可以使用类似 PHP 的东西。
bigmap := map[string]string{"a":"a", "b":"b", "c":"c"}
smallmap := map[string]string{"d":"d"}
for k, v := range smallmap {
bigmap[k] = v
}
不,没有。
这不会那么有用,因为您编写的清晰代码足够短并且具有不隐藏实现的优点。
如果需要,您可以执行自己的功能:
func addmap(a map[string]string, b map[string]string) {
for k,v := range b {
a[k] = v
}
}
addmap(bigmap, smallmap)
但是由于 Go 没有泛型,因此您必须为要使用的每种具体地图类型创建不同的函数。
AFAIK,没有内置或库函数。而且我认为您的代码尽可能好。