message Person { optional string name = 1; optional int32 id = 2; optional string email = 3; }
什么是协议缓冲区?
协议缓冲区是 Google 不依赖于语言和平台的可扩展机制,用于对结构化数据进行序列化 - 可以使用 XML,但更小、更快也更简单。您可以定义希望一次性组织数据的方式,然后使用特殊生成的源代码轻松地以各种语言向各种数据流写入和读取结构化数据。
Person john = Person.newBuilder() .setId(1234) .setName("John Doe") .setEmail("jdoe@example.com") .build(); output = new FileOutputStream(args[0]); john.writeTo(output);
选择您喜爱的语言
协议缓冲区目前支持 Java、Python、Objective-C 和 C++ 中生成的代码。借助我们新的 proto3 语言版本,您还可以使用 Kotlin、Dart、Go、Ruby 和 C#,未来还将支持更多语言。