我知道我可以在地图迭代m的,for k, v := range m { ... }并寻找钥匙,但是有没有更有效的方法来测试地图中钥匙的存在?
3 回答
holdtom
TA贡献1805条经验 获得超10个赞
一行答案:
if val, ok := dict["foo"]; ok { //do something here }
解释:
if
Go中的语句可以同时包含条件和初始化语句。上面的示例同时使用:
初始化两个变量-
val
将接收来自映射的“ foo”值或“零值”(在这种情况下为空字符串),并且ok
将接收一个布尔值,true
如果在映射中实际存在“ foo” ,则该布尔值将设置为计算
ok
,true
如果“ foo”在地图中,则为
如果映射中确实存在“ foo”,则if
语句的主体将被执行,并且val
在该作用域内是本地的。
- 3 回答
- 0 关注
- 236 浏览
添加回答
举报
0/150
提交
取消