假设我想使Go中的JavaScriptArray.splice函数等效于Slices。我有以下代码:
func splice(slice []int, index, amount int, elements ...int) []int {
newslice := make([]int, 0)
for i := 0; i < index; i++ {
newslice = append(newslice, slice[i])
}
for i := index + amount; i < len(slice); i++ {
newslice = append(newslice, slice[i])
}
for _, el := range elements {
newslice = append(newslice, el)
}
return newslice
}
此示例将起作用,但仅适用于type类型的参数int。我想使其通用,我知道我应该给可变参数elements指定类型interface{},但是如何从函数内部创建具有该接口类型的新切片呢?
换句话说,如何根据函数第一行(在何处newslice创建)中的参数类型来动态指定切片的类型?
慕码人8056858
慕森卡
相关分类