更不便的在微信公众号阅读文章能够关注公众号:海生的go花园

形式一:
应用其余音讯类型
您能够应用其余音讯类型作为字段类型。例如,假如您想Result在每条SearchResponse音讯中蕴含音讯——为此,您能够在其中定义一个Result音讯类型,.proto而后在 中指定一个类型Result字段SearchResponse

message SearchResponse {  repeated Result results = 1;}message Result {  string url = 1;  string title = 2;  repeated string snippets = 3;}

形式二:导入
在下面的例子中,Result音讯类型在同一个文件中定义 SearchResponse——如果你想用作字段类型的音讯类型曾经在另一个.proto文件中定义了怎么办?

您能够通过导入其余.proto文件来应用它们的定义。要导入另一个的定义,您能够在文件顶部增加一个导入语句:.proto
import "myproject/other_protos.proto";

形式三:嵌套类型

message SearchResponse {  message Result {    string url = 1;    string title = 2;    repeated string snippets = 3;  }  repeated Result results = 1;}

如果要在其父音讯类型之外重用此音讯类型,请将其称为_Parent_._Type_:

message SomeOtherMessage {  SearchResponse.Result result = 1;}