为了账号安全,请及时绑定邮箱和手机立即绑定

检测映射中的键是否存在结构

检测映射中的键是否存在结构

Go
温温酱 2021-10-04 17:29:24
根据地图上的 Golang 文档,如果请求的键不存在,我们将获得值类型的零值。在这种情况下,值类型是 int,所以零值是 0:j := m["root"] // j == 0所以我试图确定一个结构是否存在给定的字符串,我将如何确定这一点?我会检查一个带有零值的空结构吗?这里的比较会是什么样子?type Hello struct{}structMap := map[string]Hello{}j := structMap["example"]if(j==?) { ...}
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

使用特殊的“逗号,确定”形式来说明是否在地图中找到了密钥。Go Spec:索引表达式:


特殊形式的赋值或初始化中使用a的类型映射上的索引表达式map[K]V


v, ok = a[x]

v, ok := a[x]

var v, ok = a[x]

产生一个额外的无类型布尔值。的值ok是true键x是否存在于地图中,false否则。


所以在你的代码中:


type Hello struct{}

structMap := map[string]Hello{}

if j, ok := structMap["example"]; !ok {

    // "example" is not in the map

}


查看完整回答
反对 回复 2021-10-04
  • 1 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信