Protocol Buffers基本数据类型

本文详细介绍了protobuf协议中各类标量消息字段的类型,包括double、float、整数类型、bool、string和bytes等,强调了不同类型的编码效率和适用场景,为开发者理解和选择正确类型提供了指导。
摘要由CSDN通过智能技术生成

标量消息字段可以具有以下类型之一 - 该表显示.proto文件中指定的类型,以及自动生成的类中的相应类型:

.proto TypeNotesC++ TypeJava TypePython Type[2]Go Type
double固定8字节长度doubledoublefloatfloat64
float固定4字节长度floatfloatfloatfloat32
int32可变长度编码。对负数编码低效,如果字段可能是负数,用sint32代替int32intintint32
int64可变长度编码。对负数编码低效,如果字段可能是负数,用sint64代替int64longint/long[3]int64
uint32可变长度编码,无符号整数uint32int[1]int/long[3]uint32
uint64可变长度编码,无符号整数uint64long[1]int/long[3]uint64
sint32可变长度编码。有符号整数。 These more efficiently encode negative numbers than regular int32s.int32intintint32
sint64可变长度编码。有符号整数。These more efficiently encode negative numbers than regular int64s.int64longint/long[3]int64
fixed32固定4字节长度,无符号整数。 More efficient than uint32 if values are often greater than 228.uint32int[1]int/long[3]uint32
fixed64固定8字节长度,无符号整数。 More efficient than uint64 if values are often greater than 256.uint64long[1]int/long[3]uint64
sfixed32固定4字节长度,有符号整数int32intintint32
sfixed64固定8字节长度,有符号整数int64longint/long[3]int64
boolboolbooleanboolbool
stringUTF-8 encoded or 7-bit ASCII text.stringStringstr/unicode[4]string
bytes包含任意字节序列stringByteStringstr[]byte
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值