为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 gogo/protobuf 获取自定义 go 类型

如何使用 gogo/protobuf 获取自定义 go 类型

Go
www说 2023-07-10 14:43:04
我在 .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 类型的数组并序列化它们,建议将其封装在消息中。


查看完整回答
反对 回复 2023-07-10
  • 1 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信