package main
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param src int整型一维数组 源切片
* @param des int整型一维数组 目的切片
* @return int整型一维数组
*/
func sliceCopy( src []int , des []int ) []int {
// write code here
des = src[:]
return des
}
这样不是更简单么,不用make也不用copy函数了,不过这样好像有违背题目本来的意思。。。
---
或者说这题目本来给的des就不太对,理论上des的capacity应该大于等于src的lenght的,结果des的capacity是0,所以如果正常的话应该是这样的
package main
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param src int整型一维数组 源切片
* @param des int整型一维数组 目的切片
* @return int整型一维数组
*/
func sliceCopy( src []int , des []int ) []int {
// write code here
des = des[:len(src)]
copy(des,src)
return des
}
不过我觉得可以写个测试代码测一下
package main
import "fmt"
func sliceCopy(src []int, des []int) []int {
// write code here
des = des[:len(src)]
copy(des, src)
return des
}
func main() {
src := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
des := make([]int, 20)
res := sliceCopy(src, des)
fmt.Println(res) //[1 2 3 4 5 6 7 8 9 10]
}
没毛病,看来就是题目给的des有问题

京公网安备 11010502036488号