允许嵌套
Protocol Buffers 在定义 message时候允许嵌套组合成更加复杂的消息:
message ServiceResponse {
message Result {
string name = 1;
string streamKey = 2;
repeated string publishURL = 3;;
}
repeated Result results = 1;
}
如果你想在它的父消息类型的外部重用这个消息类型,你需要以Parent.Type的形式使用它,如:
message SomeOtherMessage {
ServiceResponse.Result result = 1;
}
当然,你也可以将消息嵌套任意多层,如:
message Outer { // Level 0
message MiddleA { // Level 1
message Inner { // Level 2
int64 ival = 1;
bool booly = 2;
}
}
message MiddleB { // Level 1
message Inner { // Level 2
int32 ival = 1;
bool booly = 2;
}
}
}