在golang中从地图生成字典映射

时间:2015-12-12 16:27:09

标签: json dictionary go slice

这是我试图在游乐场上运行的代码: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次,而不是每次复制一次。

我在这里缺少什么?

提前致谢。

1 个答案:

答案 0 :(得分:3)

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

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

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