这是copy的一个坑,如果要做slice复制,需要使用copy(dst, src)
函数
但是copy实际复制的元素个数是从两个slice中取最小值,即min(len(dst), len(src))
,如果len(dst)=0则没有办法完成复制。
func main() {
src := []int{1, 2, 3}
dst := make([]int, 0)
copy(dst, src)
fmt.Print(dst) // []
}
func main() {
src := []int{1, 2, 3}
dst := make([]int, len(src))
copy(dst, src)
fmt.Print(dst) //[1 2 3]
}