给定以下 protobuf 定义:
message MyMessage {
string Foo = 1;
int From = 2;
int To = 3;
}
然后我有一个案例,我只想从客户端发送 Foo 字符串,没问题。问题出现在服务器中,我想知道 From 和 To 是否有值(UNIX 时间戳)。如果客户端没有明确设置该值,那么 Go 会将值设置为 0,这是一个完全有效的 Unix 时间戳。在这一点上,我不知道客户是打算给我 1970-01-01 00:00:00 还是打算把它留空。
我可以添加两个布尔值来说明客户是否设置了 From 和 To,但我觉得应该有比这更优雅的解决方案。
有没有办法实际找出客户端是否打算发送空值,或者它是否实际上将值设置为0
?字符串等也是如此""
。