十三、切片的复制

1、使用函数copy

注意点:复制前必须再声明一个与要复制对象类型相同的切片

var cheeses = make([]int, 5)
	cheeses[0] = 1
	cheeses[1] = 2
	cheeses[2] = 3
	cheeses[3] = 4
	cheeses[4] = 5
	var myCheeses = make([]int, 5)
	copy(myCheeses, cheeses)

使用copy函数将cheeses的数据复制到myCheeses中,这里的copy与java中beanCopy声明复制的对象是相反的

若设置myCheeses为4则只能复制【1、2、3、4】,若myCheeses长度为6,则末尾补充0

其它:在这里我并没有去设置切片的容量,那么设置容量与不设置容量从结果上来看是没有区别的,超过了长度依然会去自动扩充两倍容量,但是在不声明容量的时候默认为0,在这种情况下,如果你向切片中添加元素,它将不得不频繁地重新分配内存以适应新的长度,这可能会导致性能下降,尤其是在频繁添加元素的情况下。而声明了容量则会降低频繁地重新分配内存以适应新的长度。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值