【问题标题】:Access to the map with a tuple key on partial key使用部分键上的元组键访问地图
【发布时间】:2022-01-25 06:15:24
【问题描述】:

我有一个带有元组键 {int, string} 的地图:

    NWKey struct {
        deviceId      int64
        interfaceType string
    }

    m = make(map[NWKey]int, 0)

我需要为部分键获取地图的元素,例如 {int, *},其中 * 表示这部分键无关紧要。是否可以在 goland 进行?如果可以,请说明如何进行。

【问题讨论】:

  • 请更新您的问题并将标签更改为go。否则,Go 人看不到它。 GoLand 是 Go 开发的 IDE。

标签: go


【解决方案1】:

仅直接查找是不可能的。一个问题是可能存在多个具有相同deviceId 的键。

相反,您需要做的是遍历您的地图并找到具有正确 ID 的。例如:

wantedId := 532

for key, value := range m {
  if key.deviceId == wantedId {
    // Do what you want to do here
  }
}

但是,这确实部分删除了地图的用例。您可以重新考虑重构您的结构以仅将 deviceId 作为键 (map[int64]int),但这可能不适合您。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-24
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    相关资源
    最近更新 更多