从 golang 中的地图生成字典地图

Produce a dictionary map from a map in golang

这是我在 playground 上尝试制作的代码 运行:http://play.golang.org/p/zX1G50txzf

我有这张地图:

map[producer:Tesla model:Model S year:2015]

我想把它变成这样:

[map[field:producer value:Tesla] map[field:model value:S] map[field:year value:2015]]

但最后我会得到这个:

[map[field:year value:2015] map[field:year value:2015] map[field:year value:2015]]

看起来每次循环遍历原始地图时,我都在复制引用而不是值,所以我最终将最后一个值复制了 3 次,而不是每次复制一次。

我在这里错过了什么?

提前致谢。

需要在循环的每次迭代中创建一个新的 temp 地图。否则,您只是在覆盖同一张地图:

for key, value := range res {
    temp := make(map[string]interface{})
    // ...
}

https://play.golang.org/p/v-RaL2fswp