问了一些Golang的基本知识,如slice用copy和左值进行初始化的区别

本文阅读 1 分钟
首页 golang 正文

题目序号:(6631)

题目来源:有色

频次:1

答案1:(peace)

1)copy(slice2, slice1)实现的是深拷贝。拷贝的是数据本身,创造一个新对象,新创建的对象与原对象不共享内存,新创建的对象在内存中开辟一个新的内存地址,新对象值修改时不会影响原对象值。
同样的还有:遍历slice进行append赋值

2)如slice2 := slice1实现的是浅拷贝。拷贝的是数据地址,只复制指向的对象的指针,此时新对象和老对象指向的内存地址是一样的,新对象值修改时老对象也会变化。默认赋值操作就是浅拷贝。

本文来自投稿,不代表本站立场,如若转载,请注明出处:
Golang Map 如何扩容
« 上一篇 09-17
go什么场景使用接口
下一篇 » 09-17

发表评论

发表评论