查看proto3参考:
https://developers.google.com/protocol-buffers/docs/proto3#simple
它是这样说的singular:
singular: a well-formed message can have zero or one of this field (but not more than one).
Run Code Online (Sandbox Code Playgroud)
我不清楚这与optional. 只是singular一种明确的方式来说明某事optional(现在对于 proto3 来说是隐式的)?或者我还缺少其他什么功能吗?
谢谢。
可选的是proto2语法。单数是proto3语法。
在proto3中,singular是默认规则。今天,文档需要改进,并且有一个未解决的问题:google/protobuf#3457。
另请参阅google/protobuf#2497 为什么消息类型删除“必需,可选”?,以及哈伯曼对GoogleCloudPlatform/google-cloud-python#1402的评论:
我认为问题是:你想做什么?为什么某个字段是否设置与您相关以及您打算如何处理此信息?
在 proto3 中,标量场根本不存在。你对 proto3 的心理模型应该是它是一个 C++ 或 Go 结构体。对于整数和字符串来说,没有设置或未设置之类的东西,它总是有一个值。对于子消息,它是指向子消息实例的指针,可以为 NULL,这就是您可以测试它是否存在的原因。
| 归档时间: |
|
| 查看次数: |
3358 次 |
| 最近记录: |