arrays - 要从列表中添加或删除的 Golang 映射或结构

标签 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
       }
    }
}

有没有更好的方法?

最佳答案

为什么不通过 Id 来识别映射中的每个 Connection

package main

type Connection struct {
   Id uint16
   X string
}

var connections map[uint16]Connection

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

关于arrays - 要从列表中添加或删除的 Golang 映射或结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35732261/

相关文章:

go - Go 中不明确的转换语法

go - 如何在结构类型上调用 Go 方法?

c - 需要帮助解决由Game Maker语言重写动态内存分配器(最初为C)引起的最后几个非bug的“怪胎”

c# 使用 Linq 将数组中的数组投影到新数组上?

c++ - 使用中序遍历从相同大小的已排序数组填充现有 BST

javascript - 子数组的最大值

go - 雨果相当于PHP的strpos()

go - 什么是 C++ 初始化列表的 Go 等价物?

go - 为什么不使用 go 1.10 编译器编译,但可以在 go playground 上运行

javascript - MongoDB 返回未定义