Golang——深浅拷贝
文章目录一、深浅拷贝二、深拷贝三、浅拷贝四、总结参考链接
一、深浅拷贝
在很多编程语言都有深浅拷贝的这个概念,当然golang也不例外。
在 go 语言中 值类型 赋值都是 深拷贝 ,引用类型 一般都是 浅拷贝。
其本质就是,深拷贝会拷贝数据(两变量存储地址不同,拷贝结束互不影响)。而浅拷贝只会拷贝内存的地址(即使拷贝结束,还是互相影响),所以就会出现,像 slice 那样修改底层数组的值,slice 的值也跟着改动。
二、深拷贝
b 拷贝 a 后,如果修改 a 的值,b不变,说明是值的拷贝,也就是深拷