我想从指针数组中删除一些struct元素
这是我的结构
allUser []*User
------------
------------
------------
func RemoveUser(deletedUser *User) {
for ii := 0; ii < len(allUser); ii++ {
if allUser[ii] == deletedUser {
allUser = append(allUser[:ii], allUser[ii+1:])
}
}
}
我试图删除那样的项目。
public PhoneCall getLongestPhoneCallBetween(String number1, String number2){
double longestConvo=0;
for(Communication i : communicationsRecord){
if(i.getCommunicationInitiator()==number1 && i.getCommunicationReceiver()==number2){
if(i.getCallDuration()>longestConvo){
}
}
}
return null;
}
但是我收到了这个错误。 无法使用allUser [ii + 1:](键入[] *用户类型*附加用户 我的错是什么
答案 0 :(得分:3)
The Go Programming Language Specification
Passing arguments to ... parameters
如果最终参数可分配给切片类型
[]T
,则可能是 如果参数,则传递为...T
参数的值不变 之后是...
。
append
是一个可变函数。您需要添加...
以附加切片。
allUser = append(allUser[:ii], allUser[ii+1:]...)