go深拷贝
在go语言中,值类型的赋值都是深拷贝,引用类型一般是浅拷贝。
> 深拷贝会拷贝数据,从而导致拷贝前后的两个变量的存储地址不同,互不影响。浅拷贝只进行地址的拷贝,拷贝前后的两个变量会指向同一地址,在对其中一个变量进行修改时,另一个变量也会发生变化
深拷贝,就是值拷贝,在传递时将所有数据复制一份,
什么时候需要深拷贝
在函数中需要更改结构体的内容而对函数外的结构体不产生影响时,需要深拷贝。
在go语言中,值类型的赋值都是深拷贝,引用类型一般是浅拷贝。
> 深拷贝会拷贝数据,从而导致拷贝前后的两个变量的存储地址不同,互不影响。浅拷贝只进行地址的拷贝,拷贝前后的两个变量会指向同一地址,在对其中一个变量进行修改时,另一个变量也会发生变化
深拷贝,就是值拷贝,在传递时将所有数据复制一份,
在函数中需要更改结构体的内容而对函数外的结构体不产生影响时,需要深拷贝。