【发布时间】:2019-06-15 15:35:46
【问题描述】:
我想实现一种方法,将interface{} 切片转换为与给定切片长度相等的interface{} 数组。类似如下:
func SliceToArray(in []interface{}) (out interface{}) {
...
}
// out's type is [...]interface{} and len(out)==len(in)
我该如何实现这个方法?
编辑:
有没有可能使用reflect.ArrayOf 来实现这个?
【问题讨论】:
-
这是一个非常不寻常且可能毫无意义的实现——你能描述一下你真正想要完成的事情吗?可能有更好的方法,很可能只是正常使用切片。
-
实际上,我想使用一个不确定的切片作为映射的键,因为切片的不容量(golang.org/ref/spec#Comparison_operators),我想使用一个包含切片中所有元素的数组作为尽可能小尺寸的钥匙
-
如果您需要映射键是长度不一致的数组,您可能需要重新考虑导致您出现这种情况的设计。