這是我試圖在操場上運行的代碼: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 關注
- 156 瀏覽
添加回答
舉報
0/150
提交
取消