2016-12-06 25 views
-1

「型」是一種語言的關鍵字,但我需要使用它作爲一個屬性名稱,我的結構,如:如何在Go中使用「type」作爲結構屬性?

type Message struct{ 
    type string 
} 

我的IDE中發現了錯誤線2

+1

你爲什麼需要使用它?如果你正在解組JSON/Yaml,也許你可以看看標籤。爲其他語言命名你的字段,並簡單地在它旁邊添加一些結構標籤,如''json:「type」'' – Depado

+0

我正在從另一種語言重寫應用程序到GO。序列化對象需要具有相同的字段名稱。我將使用'json'結構標籤。沒有其他的解決方案 –

回答

3

爲什麼你需要使用type

當你需要使用這個屬性來解析JSON編碼的數據,你可以寫:

type Message struct { 
    Kind string `json:"type"` 
} 
+0

爲什麼不呢?實際上,它是一個json序列化對象,所以我可以像你說的那樣做。 –

3

type在Go一個keyword,所以你不能用它作爲標識符。作爲替代方案,你可以使用:

  • 出口Type
  • type_
  • typ

所有這些我從圍棋源代碼了。

+0

我期待着一個神奇的解決方案:( –

+0

對不起,唯一的魔法就是沒有任何魔法:) –

相關問題