1.简介
protocol buffers 一种轻便高效的结构化数据存储格式,可用于结构化数据串行化或者序列化,很适合做数据存储或RPC数据交换格式,可用于通讯协议,数据存储领域;它与语言和平台无关,可扩展性较强,目前有c++ ,java,Python三种语言API
2.类型
PB 是.proto类型的文件,用户在.proto文件中定义“Message”来指定需要序列化的格式,PB Message作为一个独立的信息逻辑单元,包含name,value对
修饰符:required,optional repeated;常用字段类型:bool,string,int32,bytes等
message Class {
repeated Student stu = 1;
}
message Student {
required string name = 1;
required int32 age = 2;
optional string email = 3;
required Hobby hb = 4;
}
enum Hobby {
EAT = 1;
DRINK = 2;
SLEEP = 3;
}
使用required修饰符的字段,初始化值必须提供,否则字段为未初始化的;使用optional修饰符的字段,如果未进行初始化,那么将会使用默认值,也支持设置默认值,设置方法是在字段后面加入 [default = XX] ;repeated修饰的字段 相当于我们熟悉的数组,允许多个值;
注意:字段标签(即name和对应的value)标示了字段在二进制流中存放的位置,这个必须存在,且不能重复
3.使用
(待续)