protobuff的一点理解

syntax = "proto2";//指定版本信息,不指定会报错
//字段格式:限定修饰符① | 数据类型② | 字段名称③ | = | 字段编码值④ | [字段默认值⑤]
message Person //message为关键字,作用为定义一种消息类型
{
    required string name = 1;    //姓名 required表示必须设值 proto3已经不允许required字段,只允许optional、repeated,也没有has_XXX()方法
    optional int32 id = 2;       //id optional表示可设可不设
    optional string email = 3;   //邮件 
    optional string phone1 = 4;  //不写限定符 没有has_XXX()方法 proto2是必须声明的 Expected "required", "optional", or "repeated" in proto2
    optional string phone = 5 [default = "12345678911"]; //proto2可以设置默认值 proto3不可以

}
//proto2 不设值 也没有默认值 has_XXX()为false  proto3取消默认值设置,自动默认为空或0,所以has_XXX()就没有了,所以现在大多还是使用proto2
message AddressBook
{
    repeated Person people = 1;//repeated表示数组,所以它有更多的方法
}

//protoc myproto.proto --cpp_out=.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值