从切片中删除接口项目

问题描述

我要删除切片中的项目,而不必为切片中的每种项目使用特定功能。因此,我使用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

任何想法该怎么做?可以使用接受任何类型的切片项目的通用单个函数吗?

参考:How to delete an element from a Slice in Golang

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)