【问题标题】:Produce a dictionary map from a map in golang从 golang 中的地图生成字典地图
【发布时间】:2016-03-18 11:12:31
【问题描述】:

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

我在这里错过了什么?

提前致谢。

【问题讨论】:

    标签: json dictionary go slice


    【解决方案1】:

    循环的每次迭代都需要创建一个新的temp 映射。否则,你只是覆盖了同一张地图:

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

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

    【讨论】:

    • 非常感谢,工作就像一个魅力。我尝试了这种方法,制作了一个临时图,但我在循环之外创建,给出了相同的结果。
    • @GilmarPalega:没问题。记得accept answers that solve your problem
    猜你喜欢
    • 2017-06-12
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多