繁体   English   中英

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

[英]Produce a dictionary map from a map in golang

这是我试图在游乐场上运行的代码: 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM