我在 .proto 文件中的代碼當(dāng)前如下所示:message Category { int64 CategoryID = 1;}message Categories { repeated Category cat = 1;}當(dāng)我運(yùn)行時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貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個贊
Protobuf 基本上是一種序列化結(jié)構(gòu)化數(shù)據(jù)的機(jī)制。這意味著在發(fā)送原始“消息”之前,必須對其進(jìn)行序列化。當(dāng)您為不同語言編譯此原型時,它會生成適當(dāng)?shù)念悾▽τ?c++/Java)、Golang 的結(jié)構(gòu)。在您的情況下,“type Categories []*Category”不是一條消息,而是一個無法序列化的獨(dú)立實(shí)體。(我可以在這里糾正)。
如果這里的目的是擁有一個 Category 類型的數(shù)組并序列化它們,建議將其封裝在消息中。
- 1 回答
- 0 關(guān)注
- 239 瀏覽
添加回答
舉報(bào)
0/150
提交
取消