问题标签 [go-map]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
932372 浏览

dictionary - 如何检查地图是否包含Go中的键?

我知道我可以通过以下方式遍历地图m

并寻找一个密钥,但有没有更有效的方法来测试一个密钥在地图中的存在?

我在语言规范中找不到答案。

0 投票
2 回答
36603 浏览

go - map[string]interface{} 和 interface{} 的区别

我想将 JSON 文件解析为map[string]interface{}

但是我修改了我的代码以将数据指向interface{}

我不太了解上述情况map[string]interface{}之间的区别。interface{}

0 投票
1 回答
1658 浏览

json - 如何在 Golang 中将 JSON 解析为具有可变类型的地图

我有来自 Salt-Stack API 的以下 JSON 响应:

我通常使用映射结构在 Go 中解组它:

但由于第二行返回错误响应(以字符串格式)而不是布尔值,我收到以下错误:json: cannot unmarshal string into Go value of type bool

我想知道如何使用该encoding/json包在 Golang 中编组这种 JSON 格式?

0 投票
2 回答
8928 浏览

go - golang函数可以返回接口{}{} - 如何返回地图列表

我想map[string]interface{}{}在我的代码中返回。

但我得到了编译错误syntax error: unexpected [ after top level declaration

如果我更改map[string]interface{}{}interface{},则不再有编译错误。

注意我使用map[string]interface{}{},因为我想返回一个地图列表。

0 投票
1 回答
306 浏览

go - golang 取消引用地图

这是一个示例代码,它创建一个具有布尔值的字符串键映射。

在这张地图上做了一些操作后,我想删除它。我不想使用 for 循环遍历每个键并删除。

如果我确实再次重新初始化 myMap(如下所示),它是否会取消引用原始文件并进行垃圾收集?

0 投票
4 回答
81 浏览

go - 使用 [][]int 切片越界,但适用于 map[int][]int

为什么这段代码有效

但是如果你用graph := make([][]int, 0)I get替换第一行panic: runtime error: index out of range?这很奇怪。

0 投票
2 回答
5387 浏览

go - 结构类型作为映射键

我们有以下功能:

此签名已给出且无法更改。处理程序处理大约 20 种不同的消息类型。

现在,其中一些消息(大约 4 条)需要特殊的后处理。在不同的包装中。

因此,我想这样做:

现在,在Process函数中,我想快速查找消息类型是否确实是我们需要后处理的类型。我不想在switch这里再做一次。有许多处理程序,在不同的包中,具有不同数量的消息类型,它应该是通用的。

所以我想在后处理器中注册消息类型,然后进行查找:

接着

现在这一切都行不通了,因为据我所知,我只能“注册”消息的实例,而不是消息类型本身。因此,地图只会匹配消息的特定实例,而不是它的类型,这正是我所需要的。

所以我想这需要重新设计。我可以完全放弃注册和地图查找,但是

  • 我无法将Handle函数更改为特定类型(需要保留签名message interface{}
  • 我想避免不得不使用reflect,因为我将很难与一些同事捍卫这样的解决方案。
0 投票
1 回答
13308 浏览

go - struct映射的默认值是什么

地图中结构的默认值是什么?如何检查地图值是否已初始化?

我应该检查nilorsomeStruct{}吗?

0 投票
1 回答
480 浏览

go - Golang中是否有等效的番石榴表?如果不是,那么在 Go 中正确的做法是什么

我想要这样的东西

  1. 桌子

  2. 地图[字符串]表

下面提到了我厌倦的东西,map[string]table但不确定它是否正确:

我需要表格,因为我将使用 CSV 文件的数据。让我知道执行此操作的最佳方法。

0 投票
1 回答
649 浏览

pointers - 附加到作为地图中的值的切片

我想附加到作为地图值的切片,例如给定 m map[string][]string

这显然不起作用,所以我尝试而不是按原样附加值,而是执行以下操作:

但这也行不通。我怎样才能做到这一点?