学习切片时候遇到一个问题,不知道是不是bug。用copy将较长的切片向较短的切片拷贝的时候,发现并没有成功。
copy() 函数的返回发生复制的元素的个数
package main import "fmt" func main(){ s1 := []int{1,2,3} s2 := make([]int,10) fmt.Println(s1,s2) fmt.Println(copy(s1,s2),s1) fmt.Println(copy(s2,s1),s2) }
输出结果显示将较长的切片向较短的切片拷贝的时候失败了,说明copy只能将长切片拷贝到短切片上,反过来就不行了。
输出如下:
[1 2 3] [0 0 0 0 0 0 0 0 0 0]
3 [0 0 0]
3 [0 0 0 0 0 0 0 0 0 0]
原文:https://www.cnblogs.com/mmtinfo/p/13348134.html