如何訪問(wèn)以下代碼的地圖值?代碼片段是自動(dòng)生成的,所以我無(wú)法修改它。我已經(jīng)嘗試過(guò),OpType_name[OpType_UNKNOWN]但我從 golang 編譯器中收到錯(cuò)誤消息。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,}錯(cuò)誤: cannot use int(api.OpType_UNKNOWN) (type int) as type int32 in map index
1 回答

白板的微信
TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊
Go 對(duì)類型非常嚴(yán)格。您的地圖都具有類型為 int32 的鍵,并且您正嘗試使用類型為 OpType 的值訪問(wèn)它們。OpType 是 int32 并不重要。
您可以將 OpType 轉(zhuǎn)換為 int32 并使其工作
func main() {
fmt.Println(OpType_name[int32(OpType_UNKNOWN)])
}
@nos 的評(píng)論是一個(gè)很好的方法,在這種情況下它可能是您想要的。
https://play.golang.org/p/dum5GiB3zS
- 1 回答
- 0 關(guān)注
- 151 瀏覽
添加回答
舉報(bào)
0/150
提交
取消