FlatBuffers - 结构



概述

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

请注意,虽然我们将使用 Java 代码来演示这些结构,但在 Python 代码中使用它们也同样简单且可行。

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

数据类型

  • 表格 (table) - "table" 是 FlatBuffers 的一个非常基本的基础构建块。它在我们使用的语言中,例如 Java、Python 等,转换为一个类。

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

  • 数字 (Numbers) - 数字包括 FlatBuffers 类型,如 int、short、float、double,它们是 Protobuf 的基本构建块。它在我们使用的语言中,例如 Java、Python 等,分别转换为 int、long、float、double。我们也可以使用别名,例如 int16 代表 short,float32 代表 float 等。

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

  • 枚举 (enum) - "enum" 是 FlatBuffers 的复合数据类型之一。它在我们使用的语言中,例如 Java,转换为枚举。

  • 向量 (vector) - 使用 [] 符号创建向量或数组,它是 FlatBuffers 的复合数据类型之一。FlatBuffers 向量类似于 Java 数组。

  • 结构体 (struct) - "struct" 是 FlatBuffers 的复合数据类型之一。它用于创建不可修改的标量值集。struct 使用更少的内存,查找速度非常快。

  • 嵌套类 (Nested Class) - 我们可以在另一个 "table" 中使用使用 "table" 创建的类,从而创建嵌套类。

  • 联合体 (union) - "union" 用于创建一个可以接受任何不同类型值的结构。

广告
© . All rights reserved.