将golang类型定义为protobuf的.proto文件中其他类型的切片

时间:2019-03-29 10:42:26

标签: go protocol-buffers google-protocol-buffer

我想在golang文件中定义.proto类型。该类型是.proto文件中定义的其他类型的切片。

我的类型如下。

type SomeType struct {
    // few fields
}

type SomeTypes []SomeType

我在{.toto文件中定义了SomeType,如下所示。

message SomeType {
    //
}

现在,我想在.proto文件中定义类型SomeTypes。但是我还没有找到任何办法。对我来说,最简单的解决方案是更改SomeTypes的类型,如下所示:

type SomeTypes struct {
    Content []SomeType
}

然后我可以在.proto文件中将其定义为

message SomeTypes {
      repeated SomeType Content = 1 [(gogoproto.nullable) = false];
}

但是我想知道是否有不涉及更改结构SomeTypes

的解决方案

我正在使用proto2

1 个答案:

答案 0 :(得分:0)

发现protobuf项目https://github.com/gogo/protobuf/issues/433中存在一个问题,因此可以确认目前没有其他方法。