protobuf基础概念

1、 Field Types:域类型指的是:数据类型,例如int32、string以及组合类型(enumerations)及other message types

field rule := required | optional | repeated,

filed type := int32 | int64 | uint32 | uint64 | double  | bool | string | bytes

2、protobuf一共有三个字段修饰符: 
  - required:该必须要设置的; 
  - optional :该字段可以有0个或1个值(不超过1个);意味着该字段的值可以被设置也可以不设置。 
  - repeated:该字段可以重复任意多次(包括0次),类似于C++中的list;

3、Multiple message types can be defined in a single .proto file. This is useful if you are defining multiple related messages – so, for example, if you wanted to define the reply message format that corresponds to your SearchResponse message type, you could add it to the same .proto

4、Optional Fields And Default Values(可选域的缺省值)

5、枚举常量

  • 你可以通过将不同的枚举常量指定为相同的值。如果这样做你需要将allow_alias设定位true,否则编译器会在别名的地方产生一个错误信息。
  • enum EnumAllowingAlias {
      option allow_alias = true;
      UNKNOWN = 0;
      STARTED = 1;
      RUNNING = 1;
    }
    enum EnumNotAllowingAlias {
      UNKNOWN = 0;
      STARTED &
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!关于学习 Protocol Buffers(protobuf),您可以从以下几个方面入手: 1. 官方文档:首先,您可以查阅 Protocol Buffers 的官方文档,它提供了详细的说明、示例和教程,可以帮助您了解 protobuf 的基本概念和用法。官方文档地址为:https://developers.google.com/protocol-buffers/docs/overview。 2. 安装和使用:接下来,您可以按照官方文档中的指引,安装 Protocol Buffers 工具集,并学习如何使用 protobuf 编译器(protoc)生成指定语言的代码。您可以选择使用 C++、Java、Python 等支持 protobuf 的编程语言进行学习和实践。 3. 语法和消息定义:了解 protobuf 的语法和消息定义是非常重要的。您可以学习如何定义消息类型、字段和其他高级特性,以及如何使用扩展、嵌套消息等。官方文档中有详细的说明和示例,帮助您掌握这些概念。 4. 应用场景:除了基本的语法和消息定义,了解 protobuf 在实际应用中的使用也是很重要的。您可以了解如何在网络通信中使用 protobuf 进行数据传输,如何进行数据序列化和反序列化,以及如何处理不同语言之间的兼容性等问题。 5. 其他资源:除了官方文档,还有一些其他的学习资源可以帮助您更深入地学习和应用 protobuf。例如,可以阅读相关的书籍、博客文章,参与开源项目和社区讨论等。 希望以上信息对您有所帮助!如果您有其他问题,我会尽力回答。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值