Protocol Buffers - 结构



概述

现在让我们来看一下 Google Protocol Buffers 提供的一些基本数据结构和数据类型。我们将使用电影院的例子来查看这些数据结构。

请注意,对于此结构,虽然我们将使用 Java 代码,但在 Python 代码中使用它们也应该同样简单且可行。

在接下来的几章中,我们将逐一讨论以下 Protocol Buffers 数据类型:

数据类型

  • 消息 (message) − “消息”是 Protocol Buffers 的一个非常基本的构建块。它在我们使用的语言(例如 Java、Python 等)中转换为类。

  • 字符串 (string) − “字符串”数据类型在我们使用的语言(例如 Java、Python 等)中转换为字符串。

  • 数字 (Numbers) − 数字包括 Protocol Buffers 类型,如 int32、int64、float、double,它们是 Protobuf 的基本构建块。它分别在我们使用的语言(例如 Java、Python 等)中转换为 int、long、float、double。

  • 布尔值 (bool) − “布尔值”数据类型是 Protocol Buffers 的基本构建块之一。它在我们使用的语言(例如 Java、Python 等)中转换为布尔值。

  • 枚举 (enum) − “枚举”是 Protocol Buffers 的复合数据类型之一。它在我们使用的语言(例如 Java)中转换为枚举。

  • 重复 (repeated) − “重复”用于创建数组或列表,是 Protocol Buffers 的复合数据类型之一。Protocol Buffers 将其转换为 Java 中的 java.util.list 接口。

  • 映射 (map) − “映射”是 Protocol Buffers 的复合数据类型之一。Protocol Buffers 将其转换为 Java 中的 java.util.Map 接口。

  • 嵌套类 (Nested Class) − 我们可以将使用“消息”创建的类用在另一个“消息”中,从而创建嵌套类。Protocol Buffers 将其转换为嵌套的 Java 类。

广告