我想知道是否有办法将适当大小的切片传递给需要数组的函数?例如,是否有理由不允许我执行以下操作?func p(arr [4]int) { for _, v := range arr { fmt.Print(v) }}func main() { data := make([]int, 10) for i, _ := range data { data[i] = i } p(data[0:4]) // error}我知道我可以创建一个副本:arr := [4]int{}copy(arr[:], data)p(arr)但这不就是创建一个不必要的副本吗?(因为我猜测arr必须在堆栈上制作另一个副本)
1 回答
- 1 回答
- 0 关注
- 222 浏览
添加回答
举报
0/150
提交
取消