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

如何在 GO 中访问地图值?

如何在 GO 中访问地图值?

Go
泛舟湖上清波郎朗 2021-11-29 16:07:39
如何访问以下代码的地图值?代码片段是自动生成的,所以我无法修改它。我已经尝试过,OpType_name[OpType_UNKNOWN]但我从 golang 编译器中收到错误消息。type OpType int32const (    OpType_UNKNOWN OpType = 0    OpType_CREATE OpType = 1    OpType_DELETE OpType = 3)var OpType_name = map[int32]string{    0: "UNKNOWN",    1: "CREATE",    2: "DELETE",}var OpType_value = map[string]int32{    "UNKNOWN": 0,    "CREATE": 1,    "DELETE": 2,}错误: cannot use int(api.OpType_UNKNOWN) (type int) as type int32 in map index
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

Go 对类型非常严格。您的地图都具有类型为 int32 的键,并且您正尝试使用类型为 OpType 的值访问它们。OpType 是 int32 并不重要。


您可以将 OpType 转换为 int32 并使其工作


func main() {

  fmt.Println(OpType_name[int32(OpType_UNKNOWN)])

}

@nos 的评论是一个很好的方法,在这种情况下它可能是您想要的。


https://play.golang.org/p/dum5GiB3zS


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

添加回答

举报

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