我想删除切片中的一个项目,而不必为切片中的每种类型的项目使用特定的函数。所以,我使用 interface{} 作为切片项目类型:
package main
import "fmt"
func sliceRemoveItem(slice []interface{}, s int) []interface{} {
return append(slice[:s], slice[s+1:]...)
}
func main() {
array := []int{1,2,3,4,5,6,7}
fmt.Println(array)
fmt.Println(sliceRemoveItem(array,1))
}
但是 goLang 不喜欢它:
./prog.go:13:30: cannot use array (type []int) as type []interface {} in argument to sliceRemoveItem
https://play.golang.org/p/wUrR5iGRZ5Y
知道怎么做吗?是否可以使用接受任何类型切片项目的通用单个函数?
Refs:如何从 Golang 中的切片中删除元素