Golang复制结构体

Python014

Golang复制结构体,第1张

Golang中复制结构体,可以使用赋值语句

执行结果

可以看出,roger跟mydog在内存中的地址不同。并且对mydog修改属性,对roger没有影响。

但是注意,这里的Dog结构体中的属性,都是值类型。如果是 引用类型 的话,复制的是 指针 ,而不是具体的值。所以通过赋值语句对结构体的拷贝,是 浅拷贝 。如需对引用类型属性进行深拷贝,可以通过手动创建的方式,或者使用实现了deepcopy功能的第三方包

2021-10-29

内置函数copu()

作用:可以将一个数组切片复制到另一个数组切片中,如果加入的两个数组切片不一样大,就会按照其中较小的那个数组切片的元素个数进行复制。

用法:

情况一:将slice1中的前三个元素,复制给slice2

情况二:将slice2中的元素,复制给slice1的前三个