编程指南

了解如何在您的项目中使用 Protocol Buffers。

语言指南 (版本)

涵盖如何在您的项目中使用 Protocol Buffers 语言的 2023 版修订版。

语言指南 (proto 2)

涵盖如何在您的项目中使用 Protocol Buffers 语言的 proto2 修订版。

语言指南 (proto 3)

涵盖如何在您的项目中使用 Protocol Buffers 语言的 proto3 修订版。

Proto 限制

涵盖 proto 模式中支持的元素数量的限制。

风格指南

提供有关如何最好地构建 proto 定义的指导。

枚举行为

解释 Protocol Buffers 中枚举的当前工作方式与它们应该如何工作。

编码

解释 Protocol Buffers 如何将数据编码到文件或网络中。

ProtoJSON 格式

涵盖如何使用 Protobuf 到 JSON 的转换实用程序。

技巧

描述一些用于处理 Protocol Buffers 的常用设计模式。

第三方插件

链接到许多开源项目,这些项目旨在在 Protocol Buffers 之上添加有用的功能。

扩展声明

详细描述扩展声明是什么、为什么需要它们以及如何使用它们。

应用说明:字段存在

解释 protobuf 字段的各种存在跟踪规则。它还解释了具有基本类型的单个 proto3 字段的显式存在跟踪的行为。

Proto 序列化非规范化

解释序列化如何工作以及为什么它不是规范的。

不支持可空 Setter/Getter

涵盖为什么 Protobuf 不支持可空 Setter 和 Getter

Proto 最佳实践

最佳实践主题概述。

Proto 最佳实践

分享经过验证的 Protocol Buffers 编写最佳实践。

API 最佳实践

一个面向未来的 API 令人惊讶地难以正确实现。本文档中的建议做出了权衡,以有利于长期、无错误的演变。

1-1-1 最佳实践

所有 proto 定义都应在一个顶级元素和每个文件的构建目标中。