chyroc / stackoverflow-go-top-qa

stackoverflow 有关golang的高票问答
0 stars 0 forks source link

如何检查map是否包含一个key? #3

Open chyroc opened 7 years ago

chyroc commented 7 years ago

原始链接

我知道我可以迭代map

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

来寻找一个key,但是有没有更有效的方式来测试一个key在不在一个map里面?

谢谢。 我在语言规格没有找到答案。

chyroc commented 7 years ago

一行答案:

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

说明:

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

如果map中确实存在“foo”,则将执行if后的语句,val将作为if内的局部变量