Protobuf类型

简介: protobuf


1.基本类型
这些是原始的基本数据类型,用于存储数值和字符串。包括:

double:双精度浮点数
float:单精度浮点数
int32:32 位有符号整数
int64:64 位有符号整数
uint32:32 位无符号整数
uint64:64 位无符号整数
sint32:32 位有符号整数(使用变长编码)
sint64:64 位有符号整数(使用变长编码)
fixed32:32 位固定长度整数
fixed64:64 位固定长度整数
sfixed32:32 位固定长度有符号整数
sfixed64:64 位固定长度有符号整数
bool:布尔值
string:字符串
bytes:字节序列
2.枚举类型
枚举类型用于定义一组可能的取值。每个枚举字段都有一个与之关联的整数值。你可以为每个枚举值指定一个名称和一个整数值。例如:

enum Status {
OK = 0;
ERROR = 1;
CANCELLED = 2;
}
3.消息类型
消息类型是 Protocol Buffers 中最重要的类型之一。它们用于定义复杂的数据结构,可以包含其他字段和消息类型。你可以嵌套消息类型以创建更复杂的数据结构。就好比Java中的类,go中的结构体

message Person {
string name = 1;
int32 age = 2;
repeated string hobbies = 3;
}
4重复字段
重复字段允许你在消息中包含一个字段的多个值。你可以使用 repeated 关键字来定义重复字段。重复字段可以包含基本类型、枚举类型或消息类型。例如:

message MyMessage {
repeated int32 numbers = 1;
repeated string names = 2;
repeated Person contacts = 3;
}

相关文章
|
7月前
|
JSON Java 数据格式
protobuf 使用和介绍
protobuf 使用和介绍
86 0
|
编解码 Java 编译器
【Protobuf】Protobuf中的Message语法规范
在Message中定义一个或者多个字段,FieldType是字段的数据类型,可以是基本类型(如int32、string、bool等)或其他定义的Message类型。fieldName是字段的名称,可以根据需求自定义。fieldNumber是字段的唯一标识号,用于在消息的二进制编码中标识字段。
386 0
|
6月前
|
开发工具 git
protobuf的复杂结构
protobuf的复杂结构
85 1
|
6月前
|
XML 存储 编译器
Protobuf 详解
Protobuf 详解
|
7月前
|
C++
[序列化协议] --- protobuf
[序列化协议] --- protobuf
63 0
|
7月前
|
存储 XML JSON
原来可以这么使用 Protobuf
原来可以这么使用 Protobuf
368 0
|
7月前
|
JSON 数据格式
protobuf与json相互转换的方法
protobuf与json相互转换的方法
207 0
|
C++ 容器
使用protobuf的简单流程记录、编译protobuf时遇到的坑 以及 链接protobuf的坑
使用protobuf的简单流程记录、编译protobuf时遇到的坑 以及 链接protobuf的坑
323 0
|
存储
protobuf中的Base 128 Varints类型分析
protobuf中的Base 128 Varints类型分析
121 0
|
XML JSON Java
Protobuf 语法详解
Protobuf 语法详解
208 0