如何访问以下代码的地图值?代码片段是自动生成的,所以我无法修改它。我已经尝试过,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
- 1 回答
- 0 关注
- 131 浏览
添加回答
举报
0/150
提交
取消