//Remove cl (*client) from clients (vector.Vector)
for i := 0; i < clients.Len(); i++ {
if cl == clients.At(i).(*client) {
clients.Delete(i)
break
}
}
有没有更短的方法从向量中删除元素?
最佳答案
不是您真正要求的,但不要使用 Vector,而是使用 slice ,see here for a summary of some slice-idioms and their (deprecated/discouraged) Vector equivalents .
你可以这样做:
for i, c := range clients {
if c == client {
clients = append(clients[:i], clients[i+1:]...)
}
}
显然,为您自己的类型定义自己的 delete 方法是微不足道的。
关于go - 从 vector.Vector 中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4377414/