Reference Guides

Reference documentation for working with protocol buffer classes in C++, Java, Python, Go, C#, Objective-C, Ruby, PHP, and Dart, as well as some reference documentation for Protocol Buffers itself.

This section contains reference documentation for working with protocol buffer classes in C++, Java, Python, Go, C#, Objective-C, Ruby, PHP, and Dart, as well as some reference documentation for Protocol Buffers itself. The documentation for each language includes (where available):

  • A reference guide to the code generated by the protocol buffer compiler from your .proto files.
  • Generated API documentation for the provided source code.

Note that there are APIs for several more languages in the pipeline – for details, see Other Languages.


C++ Reference

Reference documentation for working with protocol buffer classes in C++.

C# Reference

Reference documentation for working with protocol buffer classes in C#

Dart Reference

Reference documentation for working with protocol buffer classes in Dart

Go Reference

Reference documentation for working with protocol buffer classes in Go

Java Reference

Reference documentation for working with protocol buffer classes in Java.

Kotlin Reference

Reference documentation for working with protocol buffer classes in Kotlin.

Objective-C Reference

Reference documentation for working with protocol buffer classes in Objective-C.

PHP Reference

Reference documentation for working with protocol buffer classes in PHP.

Python Reference

Reference documentation for working with protocol buffer classes in Python.

Ruby Reference

Reference documentation for working with protocol buffer classes in Ruby.

Rust Reference

Reference documentation for working with protocol buffer classes in Rust.

Protocol Buffers Reference

Language-agnostic information about how to use protocol buffers.

Other Languages

protoc, the Protocol Buffers Compiler, can be extended to support new languages via plugins.