google/protocol-buffers

Protocol Buffers : Language Guide (proto3) - Nested Types

C/H 2018. 8. 29. 08:30

Index

Nested Types 중첩 유형

You can define and use message types inside other message types, as in the following example – here the Result message is defined inside the SearchResponse message:
다음 예와 같이 다른 메시지 유형 내에서 메시지 유형을 정의하고 사용할 수 있다. – 여기에서 SearchResponse 메시지 내에 결과 메시지가 정의된다.

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

If you want to reuse this message type outside its parent message type, you refer to it as Parent.Type:
이 메시지 유형을 상위 메시지 유형 외부에서 재사용하려면, 'Parent.Type'라고 한다.:

message SomeOtherMessage {
    SearchResponse.Result result = 1;
}

You can nest messages as deeply as you like:
원하는 만큼 메시지를 내포할 수 있다.

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


반응형