基礎(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 | 包名 | 相當于命名空間,用來防止不同消息類型的明明沖突 |