Google protocol buffers 小结

来源:互联网 发布:阿里巴巴软件开发人员 编辑:程序博客网 时间:2024/05/21 09:19

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.使用

(待续)

 

0 0
原创粉丝点击