当前位置: 首页 > 工具软件 > go-spacemesh > 使用案例 >

(go)copy map

吴弘壮
2023-12-01

复制一个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

 类似资料: