允许嵌套
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 0message MiddleA { // Level 1message Inner { // Level 2int64 ival = 1;bool booly = 2;}}message MiddleB { // Level 1message Inner { // Level 2int32 ival = 1;bool booly = 2;}}}