protobuf 數(shù)據(jù)類型

基礎(chǔ)類型

.proto類型 java類型 C++類型 備注
double double double
float float float
int32 int int32 使用可變長編碼方式。編碼負數(shù)時不夠高效——如果你的字段可能含有負數(shù),那么請使用sint32。
int64 long int64 使用可變長編碼方式。編碼負數(shù)時不夠高效——如果你的字段可能含有負數(shù),那么請使用sint64。
unit32 int[1] unit32 總是4個字節(jié)。如果數(shù)值總是比總是比228大的話,這個類型會比uint32高效。
unit64 long[1] unit64 總是8個字節(jié)。如果數(shù)值總是比總是比256大的話,這個類型會比uint64高效。
sint32 int int32 使用可變長編碼方式。有符號的整型值。編碼時比通常的int32高效。
sint64 long int64 使用可變長編碼方式。有符號的整型值。編碼時比通常的int64高效。
fixed32 int[1] unit32
fixed64 long[1] unit64 總是8個字節(jié)。如果數(shù)值總是比總是比256大的話,這個類型會比uint64高效。
sfixed32 int int32 總是4個字節(jié)。
sfixed64 long int64 總是8個字節(jié)。
bool boolean bool
string String string 一個字符串必須是UTF-8編碼或者7-bit ASCII編碼的文本。
bytes ByteString string 可能包含任意順序的字節(jié)數(shù)據(jù)

特殊字段

英文 中文 備注
enum 枚舉(數(shù)字從零開始) 作用是為字段指定某”預(yù)定義值序列” enum Type {MAN = 0;WOMAN = 1; OTHER= 3;}
message 消息體 message User{}
repeated 數(shù)組/集合 repeated User users = 1
import 導(dǎo)入定義 import "protos/other_protos.proto"
// 注釋 //用于注釋
extend 擴展 extend User {}
package 包名 相當于命名空間,用來防止不同消息類型的明明沖突
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容