回答

收藏

如何检查地图是否包含 Go 中的键?

技术问答 技术问答 592 人阅读 | 0 人回复 | 2023-09-12

我知道我可以通过以下方式遍历地图m,# Y: Z4 h& z. r3 `3 K
    for k,v := range m { ... }
    : o% R0 o; ^8 E( ~, P* C6 E
并一把钥匙,但地图上有没有更有效的方法来测试钥匙的存在?
# N6 s5 `& o6 k# t  X                                                               
0 T& b3 V  {0 t! Y3 A7 n    解决方案:                                                               
. S5 X8 _* @' `0 {% ^; F6 E                                                                回答:
* U  y  ~& i5 i, r- r+ l
    if val,ok := dict["foo"]; ok {      do something here}
    9 u3 Y3 p3 A. u
解释:ifGo 中的句子可以包括条件句和初始句。上述例子同时使用:
5 X; s6 {# B$ j# B, q* J) d9 k两个变量 的初始化-val将从地图接收foo值或零值(在这种情况下是空字符串),ok并将接收布尔值,true如果“foo它实际上存在于地图中,它将被设置为
+ S& C/ X% N( B' ?: Q6 Y+ P$ G评估ok,true如果“foo”在地图中
如果“foo确实存在于映射中,那么if句子的主体将被执行和执行val在这个范围内是本地的。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则