深拷貝與淺拷貝
-
概念
深拷貝:拷貝的是數據本身
值類型的數據,默認都是深拷貝。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:]) //通過這種方式,可以將源切片中指定位置的數據拷貝到目的切片的指定位置