如何在带有原始类型的 Go 中使用`google.protobuf.Any`?

时间:2021-01-15 15:23:14

标签: go protocol-buffers

我有一条类似的消息

message Response {
  google.protobuf.Any id = 1;
  string message = 3;
}

我想在 ID 中编码 int32string

我可以通过制作一些包装类型来实现这一点

message IntWrapper {
  int32 id = 1;
}

并使用 ptypes.MarshalAny 中的 github.com/golang/protobuf/ptypes 来编组我的新类型,因为它们实现了 proto.Message

ptypes.MarshalAny(&myproto.IntWrapper{Id: 1})

我想在没有包装的情况下做到这一点。是否在某处实现了 proto.Message 的纯 int32string 或其他方法?

(脚注:我不想实现 proto.Message,而是让它提供或自动生成)

0 个答案:

没有答案