小编典典

如何在Go中检查地图是否包含密钥?

go

我知道我可以在地图迭代m的,

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

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

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


阅读 317

收藏
2020-07-02

共1个答案

小编典典

一线回答:

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

说明:

ifGo中的语句可以同时包含条件和初始化语句。上面的示例同时使用:

  • 初始化两个变量- val将从映射中接收“ foo”的值或从“零值”(在这种情况下为空字符串)ok接收值,并且将收到一个布尔值,true如果在映射中实际存在“ foo” ,则该布尔值将设置为

  • 计算oktrue如果“ foo”在地图中,则为

如果映射中确实存在“ foo”,if则将执行该语句的主体,并且该主体在该val作用域内是本地的。

2020-07-02