go语言copy函数介绍的疑惑

[复制链接]
查看11 | 回复2 | 2012-10-27 02:58:23 | 显示全部楼层 |阅读模式
go语言我不懂,但是看似乎懂了,仅供参考意思是源和目标可以为同一目标,复制的数量是源或者目标的元素最小数量比如例子中的copy(s,a[0]:) a虽然一共有8个元素,但是s只有6个元素 ,看上面的makeint是6所以这里只复制了最小数量6个元素,因此a的012345被复制进了s第二个copy(s,s[2]:)这里是从s[2]开始,所以len是6-2=4,而且因为4<6,只复制4个元素因此0 1 2 3 4 5 复制后4个元素到前面结果就是:2 3 4 5 4 5 //这个就是可以源和目标可重叠,上面的也说明了按照len(str)和len(det)中最少值...
回复

使用道具 举报

千问 | 2012-10-27 02:58:23 | 显示全部楼层
“重叠”这段话,英文源文是“The source and destination may overlap“。我觉得可以理解为溢出或短缺。比如源的长度4个,目标长度是6,则只能复制4个到目标slice中。目标中最后两个值不会被改变如果源的长度是6个,而目标只有4个,则也只会复制4个,因为目标容量小,放不下6个。源中的最后两个值就不会参与复制了。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行