Go 从vector中删除元素。vector //从客户端(vector.vector)中删除cl(*client) 对于i:=0;i

Go 从vector中删除元素。vector //从客户端(vector.vector)中删除cl(*client) 对于i:=0;i,go,Go,有没有一种较短的方法可以从向量中删除元素?这不是您想要的,但不要使用向量,而是使用切片 你可以这样做: //Remove cl (*client) from clients (vector.Vector) for i := 0; i < clients.Len(); i++ { if cl == clients.At(i).(*client) { clients.Delete(i) break } } 显然,为自己的类型定义自己的delet

有没有一种较短的方法可以从向量中删除元素?

这不是您想要的,但不要使用向量,而是使用切片

你可以这样做:

//Remove cl (*client) from clients (vector.Vector)
for i := 0; i < clients.Len(); i++ {
    if cl == clients.At(i).(*client) {
        clients.Delete(i)
        break
    }
}

显然,为自己的类型定义自己的delete方法是很简单的,因为它的作用是相同的。

客户机短。delete(i)?
@cthom06我不知道向量中元素的索引
for i, c := range clients {
    if c == client {
         clients = append(clients[:i], clients[i+1:]...)
    }
}