面试题答案
一键面试copy(dst, src)
操作后两个切片的状态:- 执行
copy(dst, src)
后,dst
切片的内容会被替换为src
切片的内容,即dst
变为[]int{1, 2, 3}
。src
切片本身不会发生变化,仍然是[]int{1, 2, 3}
。
- 执行
- 如果
dst
的容量小于src
的长度时会发生的情况:copy
函数会将src
切片中前len(dst)
个元素复制到dst
切片中。例如,如果src := []int{1, 2, 3, 4}
,dst := make([]int, 2)
,执行copy(dst, src)
后,dst
会变为[]int{1, 2}
,src
不变。copy
函数不会因为dst
容量小于src
长度而报错,它只会复制能容纳的元素个数。