A simple and somewhat-accurate answer is "it's reserved to mean 'no field'".
It's certainly handy in your code to use 0 that way - for example: if (uint tag = possiblyComputeSomeTagID(thing)) doStuff(tag); else LOG(ERROR) << "No tag for: " << thing; -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To view this discussion on the web visit https://groups.google.com/d/msg/protobuf/-/l06fAqw6MEsJ. To post to this group, send email to protobuf@googlegroups.com. To unsubscribe from this group, send email to protobuf+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/protobuf?hl=en.