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

标签 dictionary go go-map

我知道我可以用 m 迭代 map

for k, v := range m { ... }

并寻找一个键,但是有没有更有效的方法来测试一个键在 map 中的存在?

最佳答案

一行答案:

if val, ok := dict["foo"]; ok {
    //do something here
}

说明:

Go 中的

if 语句可以包含条件语句和初始化语句。上面的示例同时使用了这两种方法:

  • 初始化两个变量 - val 将从映射中接收“foo”的值或“零值”(在本例中为空字符串)和 ok 将收到一个 bool 值,如果 map 中实际存在“foo”,则该 bool 值将设置为 true

  • 评估 ok,如果 "foo"在 map 中,则为 true

如果映射中确实存在“foo”,则将执行 if 语句的主体,并且 val 将在该范围内。

关于dictionary - 如何检查 map 是否包含Go中的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2050391/

相关文章:

python - 如何知道远程tcp设备是否关机

go - Race 暂停一组 goroutines

docker - 没有这样的主机,我通过端口转发连接到服务器上的 kafka 代理

c# - 如何使用 Int 删除作为 Double 的 Dictionary 行?

c# - 在 C# 中从字典中过滤键值

pointers - go中的form参数为map时,传入的是什么?

go - 如何将 map 作为值传递?

dictionary - 检查 map 是否是另一张 map 的子集

java - 将树状映射转换为具有复合键的普通映射

python - 为什么字典比 Python 中的列表更快?