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.