假设我想在 Go 中为 Slices制作等效的JavaScript函数。Array.splice
我有以下代码:
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
提供 type interface{}
,但是如何从函数内部创建一个具有该接口类型的新切片?
换句话说,如何根据函数第一行中的参数类型动态指定切片的类型,在哪里newslice
创建?