Fab*_*lao 3 arrays arguments go slice gob

问:在golang中,有没有办法定义一个接受任意长度数组作为参数的函数?

例如,

function demoArrayMagic(arr [magic]int){
....
}

我已经理解在golang中,数组长度是变量类型的一部分,因此以下函数不会接受一个任意数组作为输入

function demoArray(arr [2]int){
....
}
arrInput [6]intdemoArray(arrInput)

此外,接受slice参数的以下函数不接受数组作为参数(不同类型,如预期的那样):

function demoSlice(arr []int){
....
}
demoSlice(arrInput)

问题是,有没有办法定义一个采用任意长度数组的函数(数组,非切片)?它看起来很奇怪并限制了一种语言强加这种约束.

[][]int[10000][128]int

问候

Ps:我现在提醒Go,传递/使用"按值"的东西,使用数组可能是过度杀伤因为golang会复制很多次.我想我会留下切片,我会尝试了解一下GOB的内部结构.