Мне нужно указать сообщение с необязательным полем в protobuf (синтаксис proto3). В терминах синтаксиса proto 2 сообщение, которое я хочу выразить, выглядит примерно так:
message Foo {
required int32 bar = 1;
optional int32 baz = 2;
}
Из моего понимания "необязательная" концепция была удалена из синтаксиса proto 3 (наряду с необходимой концепцией). Хотя неясно альтернатива - используя значение по умолчанию, чтобы указать, что поле не было указано у отправителя, оставляет неопределенность, если значение по умолчанию принадлежит домену допустимых значений (рассмотрим, например, булевский тип).
Итак, как я должен кодировать сообщение выше? Спасибо.