天天看點

Google Protocol Buffer 使用

Google Protocol Buffer使用

關鍵語義

語義 名稱
emun 枚舉類
message java類定義
optional,require,repeated 資料類型,對象引用
import 引用其他proto檔案
package 對應生成java類的包名
optional java_package 定義編譯後産生的檔案所在包結構的,即編寫生成後的java檔案所在的目錄(多層次結構)
optional java_outer_classname 編譯生成的java檔案名稱
sevice 暫時不知道功能,後續查閱後補充

類型轉換對應關系

protoc類型 Java類型
double double
float float
int32 int
int64 long
uint32 int
uint64 long
sint32 int
sint64 long
fixed32 int
fixed64 long
sfixed32 int
sfixed64 long
bool boolean
string String
bytes ByteString

編譯指令

protoc --proto_path=IMPORT_PATH --cpp_out=DST_DIR --java_out=DST_DIR --python_out=DST_DIR path/to/file.proto

--proto_path=IMPORT_PATH 預設目前目錄
--cpp_out 生成的c++檔案目錄
--java_out 生成的java檔案目錄
--pytho_out 生成的python檔案目錄
           

總結

    protocol buffer的使用還是相對簡單點,唯一麻煩的就是多了一個預編譯的過程,将.proto檔案轉換成java檔案或c++檔案。但有的時候,這些過程是必須的。