内嵌类型

可以在消息类型内部定义和使用消息类型, 如下面的例子所示 - 这里Result消息被定义在SearchResponse消息内部:

message SearchResponse {
  message Result {
    required string url = 1;
    optional string title = 2;
    repeated string snippets = 3;
  }
  repeated Result result = 1;
}

如果想在父消息类型之外重用这个消息类型, 可以通过使用 Parent.Type 格式引用:

message SomeOtherMessage {
  optional SearchResponse.Result result = 1;
}

还支持多级内嵌类型:

message Outer {       // Level 0
  message MiddleAA {  // Level 1
    message Inner {   // Level 2
      required int64 ival = 1;
      optional bool  booly = 2;
    }
  }
  message MiddleBB {  // Level 1
    message Inner {   // Level 2
      required int32 ival = 1;
      optional bool  booly = 2;
    }
  }
}

results matching ""

    No results matching ""