如何检查地图是否包含 Go 中的键?
我知道我可以通过以下方式遍历地图m
,
for k, v := range m { ... }
并寻找一把钥匙,但有没有更有效的方法来测试钥匙在地图中的存在?
回答:
回答:
if val, ok := dict["foo"]; ok { //do something here
}
解释:
if
Go 中的语句可以包括条件语句和初始化语句。上面的例子同时使用了:
- 初始化两个变量 -
val
将从地图中接收“foo”的值或“零值”(在这种情况下为空字符串),ok
并将接收一个布尔值,true
如果“foo”实际上存在于地图中,它将被设置为 - 评估
ok
,true
如果“foo”在地图中
如果“foo”确实存在于映射中,则if
语句的主体将被执行并且val
在该范围内是本地的。
以上是 如何检查地图是否包含 Go 中的键? 的全部内容, 来源链接: utcz.com/qa/400551.html