why*_*why 14 java protocol-buffers
Hello使用Java的Google协议缓冲区中的默认枚举值(如果没有定义任何默认值)是什么?
Mar*_*ell 16
它是.proto命令中定义的第一个.
从.proto语言指南(因为所有实现在这里使用相同的逻辑):
可选字段和默认值
(snip)对于枚举,默认值是枚举类型定义中列出的第一个值.
来自官方规格:
可选:该字段可以设置也可以不设置。如果未设置可选字段值,则使用默认值。对于简单类型,您可以指定自己的默认值,就像我们在示例中为电话号码类型所做的那样。否则,使用系统默认值:数字类型为零,字符串为空字符串,布尔值为 false。对于嵌入消息,默认值始终是消息的“默认实例”或“原型”,其未设置任何字段。调用访问器来获取尚未显式设置的可选(或必需)字段的值始终返回该字段的默认值。
您可以按如下方式设置默认值:
optional PhoneType type = 2 [default = HOME];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10621 次 |
最近记录: |