这是我试图在操场上运行的代码: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 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
temp每次循环迭代都需要创建一个新地图。否则,您只是覆盖了同一张地图:
for key, value := range res {
temp := make(map[string]interface{})
// ...
}
https://play.golang.org/p/v-RaL2fswp
- 1 回答
- 0 关注
- 129 浏览
添加回答
举报
0/150
提交
取消