我想从指针数组中删除一些结构元素
这是我的结构
type User struct{
userName string
userId int
}
我正在尝试移除类似的物品。
allUser []*User
------------
------------
------------
func RemoveUser(deletedUser *User) {
for ii := 0; ii < len(allUser); ii++ {
if allUser[ii] == deletedUser {
allUser = append(allUser[:ii], allUser[ii+1:])
}
}
}
但我收到此错误。
无法使用allUser [ii + 1:](类型[] * User作为类型*追加中的用户
我怎么了
最佳答案
The Go Programming Language Specification
Passing arguments to ... parameters
如果最终参数可分配给 slice 类型[]T
,则可能是
如果参数传递为...T
参数的值,则保持不变
后面跟着...
。append
是一个可变参数函数。您需要添加...
来附加 slice 。
allUser = append(allUser[:ii], allUser[ii+1:]...)