This guide describes how to use the protocol buffer language to structure your protocol buffer data, including .proto file syntax and how to generate data access classes from your .proto files. It covers the proto3 revision of the protocol buffers language. For information on editions syntax, see the Protobuf Editions Language Guide. For information on the proto2 syntax, see the Proto2 Language Guide. This is a reference guide – for a step by step example that uses many of the features described in this document, see the tutorial for your chosen language.