您不是在复制地图,而是在复制对地图的引用。
delete因此,您将同时修改原始地图和超级地图中的值。要复制地图,您必须使用如下
for循环:
for k,v := range originalMap { newMap[k] = v}这是现已退休的SO文档中的示例:
// Create the original maporiginalMap := make(map[string]int)originalMap["one"] = 1originalMap["two"] = 2// Create the target maptargetMap := make(map[string]int)// Copy from the original map to the target mapfor key, value := range originalMap { targetMap[key] = value}摘录自地图-
复制地图。最初的作者是JepZ。归属详细信息可以在贡献者页面上找到。该来源已获得CC
BY-SA 3.0的许可,可以在“
文档”存档中找到。参考主题ID:732和示例ID:9834。



