码迷,mamicode.com
首页 > 其他好文 > 详细

四.Protobuf3 缺省值

时间:2019-09-11 17:48:44      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:数字类型   设置   特定   string   ack   str   布尔值   它的   有一个   

解析消息时,如果编码消息不包含特定的单数元素,则解析对象中的相应字段将设置为该字段的默认值。这些默认值是特定于类型的:

  •   对于字符串,默认值为空字符串。

  •   对于字节,默认值为空字节。

  •   对于布尔,默认值为false。

  •   对于数字类型,默认值为零。

  •   对于枚举,默认值是第一个定义的枚举值,必须为0。

  •   对于消息字段,该字段未设置。它的确切值取决于语言。有关详细信息,请参见生成的代码指南。

  重复字段的默认值为空(通常是相应语言的空列表)。

  请注意,对于标量消息字段,一旦消息被解析,就无法判断字段是显式设置为默认值(例如,布尔值是否设置为false )还是根本没有设置:定义消息类型时应该记住这一点。例如,如果不希望默认情况下也发生某些行为,不要有一个布尔值在设置为false时打开该行为。另请注意,如果标量消息字段设置为默认值,则不会在线路上序列化该值。

注: 如果类型为string, 当为null时不做set操作操作解析时默认"",如果做了set操作,则无法进行setXXX(null)

  有关默认如何在生成的代码中工作的详细信息,请参阅所选语言的生成代码指南。

四.Protobuf3 缺省值

标签:数字类型   设置   特定   string   ack   str   布尔值   它的   有一个   

原文地址:https://www.cnblogs.com/kexianting/p/11507498.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!