我try 将一个映射(amap
)的内容复制到另一个映射(aSuperMap
)中,然后清除amap
,以便它可以在下一次迭代/循环中接受新值.
问题是你不能清除超级 map 中的 map without to clear its reference.
下面是一些伪代码.
for something := range fruits{
aMap := make(map[string]aStruct)
aSuperMap := make(map[string]map[string]aStruct)
for x := range something{
aMap[x] = aData
aSuperMap[y] = aMap
delete(aMap, x)
}
//save aSuperMap
saveASuperMap(something)
}
我也try 了一些动态的东西,但是很明显它抛出了一个错误(不能赋值为空)
aSuperMap[y][x] = aData
问题是如何创建关联映射?在PHP中,我只需使用aSuperMap[y][x]=adata.看来golang 没有什么明显的方法.如果我删除delete(aMap, x)
,它在超级 map 中的引用也会被删除.如果我不删除它,SuperMap最终会有重复的数据.基本上,在每个循环中,它都会得到aMap
个新值加上所有旧值.