- 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" 用於建立一個可以接受任何不同型別值的結構。