Go 将固定长度数组传递给函数

Go 将固定长度数组传递给函数,go,Go,我想写一个函数,可以接受固定长度的数组,但不同的数组有不同的长度 我知道我可以用arr[:]传递切片(函数将接受[]T),但是有没有其他方法,可能更有效 我使用的是一个我希望与固定长度数组一起保存的结构(出于文档目的),因此在声明时到处使用切片并不是我的最佳选择。不,没有办法传递不同大小的数组,因为数组的长度是类型的一部分 例如,[3]int是与[2]int不同的类型 无论如何,不建议使用数组,而应使用切片() 只需使用slice,数组不适合作为param传递,它将创建一个副本,浪费空间和时间,

我想写一个函数,可以接受固定长度的数组,但不同的数组有不同的长度

我知道我可以用arr[:]传递切片(函数将接受[]T),但是有没有其他方法,可能更有效


我使用的是一个我希望与固定长度数组一起保存的结构(出于文档目的),因此在声明时到处使用切片并不是我的最佳选择。

不,没有办法传递不同大小的数组,因为数组的长度是类型的一部分

例如,
[3]int
是与
[2]int
不同的类型


无论如何,不建议使用数组,而应使用切片()

只需使用slice,数组不适合作为param传递,它将创建一个副本,浪费空间和时间,并且有两个正在生成的数据副本。这个答案可能会有所帮助。对数组进行切片一点也不低效。请参阅。不使用数组的另一个原因是,当将数组作为param传递时,它将创建一个副本,无论如何,这将不起作用。