首页 > 简单protobuf

简单protobuf

  1. protobuf的数据类型,有最简单的那种数据类型,就是一个文件中,定义了一个message
  2. 可以在一个文件中定义两个message,两个message之间是没有关联的
  3. 可以在一个文件中,定义两个message,其中一个是简单的,他作为了另个一的字段
message SearchResponse {repeated Result result = 1;
}
message Result {required string url = 1;optional string title = 2;repeated string snippets = 3;
}

也不一定是简单的了,就是其中一个是另一个的字段

  1. 还有一种是嵌套类型的,就是在一个message中定义了另外的一个message
message SearchResponse {message Result {required string url = 1;optional string title = 2;repeated string snippets = 3;}repeated Result result = 1;
}

这个加在中间的message类型,可以理解成是一个子消息

同时可以在其他的消息中使用这个子消息

message SomeOtherMessage {optional SearchResponse.Result result = 1;
}

当然上面的也可以嵌套任意多的message

判断,如果消息类型是repeated的话,这个时候就可以判断的是size,如果是没有repeated,就是其他类型的话,就判断通过has进行判断

本公司基本上很少使用required

更多相关:

  • @Ignore 用法很简单, 如果你的测试用例还没有准备好而不想被执行, 又不想删掉或注释掉, 可以使用 @Ignore 标注来忽略测试。 方法一旦用 @Ignore 注解了将不会被执行. 如果一个类用 @Ignore 注解了 他下面的所有测试方法将不会被执行. 看个应用 Create a Class Create a java...

  • 原文出处: 韩昊    1 2 3 4 5 6 7 8 9 10 作 者:韩 昊 知 乎:Heinrich 微 博:@花生油工人 知乎专栏:与时间无关的故事   谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。   转载的同学请保留上面这句话,谢谢。如果还能保留文章来源就更感激不尽了。 我保证这篇文章...

  • 原文出处: 韩昊   我保证这篇文章和你以前看过的所有文章都不同,这是 2012 年还在果壳的时候写的,但是当时没有来得及写完就出国了……于是拖了两年,嗯,我是拖延症患者…… 这篇文章的核心思想就是: 要让读者在不看任何数学公式的情况下理解傅里叶分析。 傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维...

  • 很多Linux高手都喜欢使用screen命令,screen命令可以使你轻松地使用一个终端控制其他终端。尽管screen本身是一个非常有用的工具,byobu作为screen的增强版本,比screen更加好用而且美观,并且提供有用的信息和快捷的热键。 想象一下这样一个场景:你通过Secure Shell(ssh)链接到一个服务器,并...

  • NarrowbandPrimary Synchronization Signal时域位置每1个SFN存在一个NPSSSFNSubframeSymbol长度每个SFN5最后11个symbol11个symbols频域位置NB-IOT下行带宽固定180kHz,一个PRB,12个子载波。...

  •  [h1]反斜杠只能够阻止一个字符  [h2]位于键盘的左上角,和~公用一个键。...