内容简介:Protocol Buffers 学习(2):字段类型和其他语言字段类型之间的映射
对照表格
.proto Type | 介绍 | C++ Type | Java Type | Python Type | Go Type | Ruby Type | C# Type | PHP Type |
---|---|---|---|---|---|---|---|---|
double | double | double | float | float64 | Float | double | float | |
float | float | float | float | float32 | Float | float | float | |
int32 |
使用可变长度编码,不能编码负值,如果字段可能有负值,推荐使用 sint32
|
int32 | int | int | int32 | Fixnum 或者 Bignum (按需) | int | integer |
int64 |
使用可变长度编码,不能编码负值,如果字段可能有负值,推荐使用 sint64
|
int64 | long | int/long | int64 | Bignum | long | integer/string |
uint32 | 使用可变长度编码 | uint32 | int | int/long | uint32 | Fixnum 或者 Bignum (按需) | uint | integer |
uint64 | 使用可变长度编码 | uint64 | long | int/long | uint64 | Bignum | ulong | integer/string |
sint32 | 使用可变长度编码,有符号int型,比int32对负数支持更好 | int32 | int | int | int32 | Fixnum 或者 Bignum (按需) | int | integer |
sint64 | 使用可变长度编码,有符号int型,比int64对负数支持更好 | int64 | long | int/long | int64 | Bignum | long | integer/string |
fixed32 |
始终为四个字节,值大于 2^28
时,比uint32更有效 |
uint32 | int | int | uint32 | Fixnum 或者 Bignum (按需) | uint | integer |
fixed64 |
始终为四个字节,值大于 2^56
时,比uint64更有效 |
uint64 | long | int/long | uint64 | Bignum | ulong | integer/string |
sfixed32 | 始终为四个字节 | int32 | int | int | int32 | Fixnum 或者 Bignum (按需) | int | integer |
sfixed64 | 始终为四个字节 | int64 | long | int/long | int64 | Bignum | long | integer/string |
bool | bool | boolean | bool | bool | TrueClass/FalseClass | bool | boolean | |
string | 字符串必须始终包含UTF-8编码或7位ASCII文本 | string | String | str/unicode | string | String (UTF-8) | string | string |
bytes | 可以包含任意的字节序列 | string | ByteString | str | []byte | String (ASCII-8BIT) | ByteString | string |
更多有关编码信息,可以查看 谷歌文档(protobuf编码) 需翻墙
字段默认值
当消息被解析时,如果编码的消息不包含特定的单个元素(字段),则解析对象中的相应字段将被设置为该字段的默认值。 这些默认值是特定于类型的:
- 对于字符串,默认值为空字符串
- 对于字节,默认值为空字节。
- 对于bools,默认值为false。
- 对于数值类型,默认值为零。
- 对于枚举,默认值是第一个定义的枚举值,它必须为0。
- 对于消息字段,这个要看具体实现的语言
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Protocol Buffers 学习(2):字段类型和其他语言字段类型之间的映射
- presto中不同类型的字段关联问题
- EasyMybatis 1.2.0 发布,支持枚举类型字段
- hive使用struct、map与array类型字段
- yii2 数据库查询结果字段类型的问题
- Date类型字段反序列化后值发生变化问题
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Out of their Minds
Dennis Shasha、Cathy Lazere / Springer / 1998-07-02 / USD 16.00
This best-selling book is now available in an inexpensive softcover format. Imagine living during the Renaissance and being able to interview that eras greatest scientists about their inspirations, di......一起来看看 《Out of their Minds》 这本书的介绍吧!