- Protocol Buffers 教程
- Protocol Buffers - 首頁
- Protocol Buffers - 簡介
- Protocol Buffers - 基本應用
- Protocol Buffers - 結構
- Protocol Buffers - 訊息
- Protocol Buffers - 字串
- Protocol Buffers - 數字
- Protocol Buffers - 布林值
- Protocol Buffers - 列舉
- Protocol Buffers - 重複
- Protocol Buffers - 對映
- Protocol Buffers - 巢狀類
- Protocol Buffers - 可選性和預設值
- Protocol Buffers - 語言獨立性
- Protocol Buffers - 複合資料型別
- Protocol Buffers - 命令列用法
- Protocol Buffers - 更新定義規則
- Protocol Buffers - 與 Kafka 整合
- Protocol Buffers - 在其他語言中
- Protocol Buffers 有用資源
- Protocol Buffers - 快速指南
- Protocol Buffers - 有用資源
- Protocol Buffers - 討論
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 類。