Go深拷贝与浅拷贝
Posted henryno12
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go深拷贝与浅拷贝相关的知识,希望对你有一定的参考价值。
深拷贝与浅拷贝
概念
深拷贝:拷贝的是数据本身
? 值类型的数据,默认都是深拷贝。array,int ,float,bool,string,struct
浅拷贝:拷贝的是数据地址
? 导致多个变量指向同一块内存
? 引用类型的数据,默认都是浅拷贝。slice,map
针对切片的深拷贝函数
func copy(dst, src []Type) int //在目标切片的下标为0的位置,开始粘贴复制的源数据 //内建函数copy将元素从来源切片复制到目标切片中 //copy返回被复制的元素数量,它会是 len(src) 和 len(dst) 中较小的那个 copy(dstSlice[n:],srcSlice[m:]) //通过这种方式,可以将源切片中指定位置的数据拷贝到目的切片的指定位置
以上是关于Go深拷贝与浅拷贝的主要内容,如果未能解决你的问题,请参考以下文章