Учитывая следующее определение protobuf:
message MyMessage {
string Foo = 1;
int From = 2;
int To = 3;
}
Тогда у меня есть случай, когда я хочу отправить только строку Foo от клиента, нет проблем. Проблема возникает на сервере, где я хочу знать, имеет ли значение From и To значение (UNIX timestamps). Если это значение явно не установлено клиентом, то Go установит значение 0, что является полностью допустимой отметкой времени Unix. На данный момент я понятия не имею, намеревался ли Клиент дать мне 1970-01-01 00:00:00 или он хотел оставить его пустым.
Я мог бы добавить два bools, которые говорят, действительно ли это или нет From и To были установлены клиентом, но я чувствую, что должно быть более элегантное решение, чем это.
Есть ли способ на самом деле выяснить, намеревался ли клиент отправить нулевые значения, или если это на самом деле установить значение 0
? То же самое касается ""
для строк и пр.