复制一个map,最快的方法是定制化创建一个新的map,类型相同,然后通过loop将k,v赋予新的map;
package main
import (
"fmt"
)
func main() {
map_origin := map[string]int{
"x":1,
"y":2,
}
map_copy := map[string]int{}
for index,element := range map_origin{
map_copy[index] = element
}
for index,element := range map_copy{
fmt.Println(index,"=>",element)
}
}
另外两种方法分别为
一、用gob序列化成字节序列再反序列化生成克隆对象;
二、是先转换成json字节序列,再解析字节序列生成克隆对象
这两种方法转换速度慢一般不建议使用
速度排序:定制化拷贝>json>gob