我在 .proto 文件中的代碼當前如下所示:message Category { int64 CategoryID = 1;}message Categories { repeated Category cat = 1;}當我運行時protoc --gogofaster_out=. *.proto得到的輸出是:type Category struct { CategoryID int64}type Categories struct { Cat []*Category}但我真正想要的是:type Category struct { CategoryID int64}type Categories []*Category.proto 文件中的代碼需要什么才能獲得所需的輸出?
1 回答

慕工程0101907
TA貢獻1887條經驗 獲得超5個贊
Protobuf 基本上是一種序列化結構化數據的機制。這意味著在發送原始“消息”之前,必須對其進行序列化。當您為不同語言編譯此原型時,它會生成適當的類(對于 c++/Java)、Golang 的結構。在您的情況下,“type Categories []*Category”不是一條消息,而是一個無法序列化的獨立實體。(我可以在這里糾正)。
如果這里的目的是擁有一個 Category 類型的數組并序列化它們,建議將其封裝在消息中。
- 1 回答
- 0 關注
- 216 瀏覽
添加回答
舉報
0/150
提交
取消