- FlatBuffers 教程
- FlatBuffers - 首页
- FlatBuffers - 简介
- FlatBuffers - Schema(模式)
- FlatBuffers - 结构
- FlatBuffers - 表格
- FlatBuffers - 字符串
- FlatBuffers - 数字
- FlatBuffers - 布尔值
- FlatBuffers - 枚举
- FlatBuffers - 向量
- FlatBuffers - 结构体
- FlatBuffers - 联合体
- FlatBuffers - 嵌套表格
- FlatBuffers - 默认值
- FlatBuffers - JSON 转二进制
- FlatBuffers - 二进制转 JSON
- FlatBuffers - 可变缓冲区
- FlatBuffers - 向后兼容性
- FlatBuffers - 语言独立性
- FlatBuffers 有用资源
- FlatBuffers - 快速指南
- FlatBuffers - 有用资源
- FlatBuffers - 讨论
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" 用于创建一个可以接受任何不同类型值的结构。