Slice Copy操作问题
来源:3-3 切片的操作

胖虎兄
2019-05-21
arr1:=[]int{0,1,2,3,4,5,6,7}
arr2:=[] int {}
copy(arr1,arr2)
fmt.Println("arr1 : ",arr1)
fmt.Println("arr2 : ",arr2)
//结果是:
arr1 : [0 1 2 3 4 5 6 7]
arr2 : []
这是什么鬼???
写回答
1回答
-
首先,你应该是想把arr1拷贝到arr2?那么应该是copy(arr2, arr1)
然后arr2作为目标,它的空间要预先分配好。目标slice的大小就是你想拷贝的元素的数目,你这里是0,也就是你想拷贝0个。
所以先arr2:=make([]int, len(arr1))
然后copy(arr2, arr1)
012019-05-26
相似问题
slice添加元素时,之前的元素会被修改
回答 1
有关Golang Slice的提问
回答 1
关于slice和cap一点疑问
回答 1
为什么必须用map?
回答 2
碰到slice坑一个!
回答 2