从 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{})
// ...
}
这是我在 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{})
// ...
}