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