github中protobuf组织的仓库里的关于字段是否存在的文档说的比较清楚,如果我没理解错的话。
protocolbuffers/protobuf “Presence in proto2 APIs”这一节。
其它能搜到的非官方回答
Do not set default values in optional protobuf fields to minimize data sent over the wire
how do has_field() methods relate to default values in protobuf?