要在列表中添加或删除的Golang映射或结构

时间:2016-03-01 19:57:33

标签: arrays go

我有一台服务器,我不想将每个连接保存到列表中。让我们说:

type Connection struct {
   Id uint16
   Conn *conn.TCP
}

var connections []Connection

但是我想删除/获取特定的连接ID?我该怎么用?

我想的是:

func GetConnectionById(id uint16) Connection {
    for k, v := range connections {
       if v.Id == id {
          return v
       }
    }
}

有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

为什么不通过Connection确定地图中的每个Id

package main

type Connection struct {
   Id uint16
   X string
}

var connections map[uint16]Connection

func main() {
    connections = make(map[uint16]Connection)
    connections[1] = Connection{}
}