Protocol buffers protobuf 3单数和可选的有何不同
查看proto3参考: 它说的是单数:Protocol buffers protobuf 3单数和可选的有何不同,protocol-buffers,Protocol Buffers,查看proto3参考: 它说的是单数: singular: a well-formed message can have zero or one of this field (but not more than one). 我不清楚这与optional有何不同。singular是否只是一种明确的方式,表明某些东西是可选的(现在对于proto3是隐式的)?或者我还遗漏了什么 谢谢。可选的是proto2语法。单数是proto3语法 在proto3中,单数是默认规则。今天,文档需要改进,还有一个未
singular: a well-formed message can have zero or one of this field (but not more than one).
我不清楚这与optional
有何不同。singular
是否只是一种明确的方式,表明某些东西是可选的(现在对于proto3是隐式的)?或者我还遗漏了什么
谢谢。可选的是
proto2
语法。单数是proto3
语法
在proto3中,单数
是默认规则。今天,文档需要改进,还有一个未决问题:
另见哈伯曼对以下内容的评论:
我想问题是:你想做什么?为什么相关
是否设置了字段,以及您打算如何处理
这个信息
在proto3中,标量场的场存在根本不存在。你的
原型模型的心理模型应该是C++或GO结构。对于
整数和字符串,没有设置或不设置这样的事情,它
总是有价值的。对于子消息,它是指向子消息的指针
实例,这就是为什么您可以测试它的存在性
只是想澄清一下你的意思:我知道proto2中有可选项,而proto3中没有可选项,proto3中有单数项,而proto2中没有。你是说“单数字符串名”和proto3中的“字符串名”在功能上没有区别吗?如果是,为什么要添加“singular”(单数)?是的,它是相同的,因为
singular
是默认规则。应更新文档,请参阅问题Cool。最后的评论(和链接)回答了我的问题。你能把这个写进你的答案里吗?我会接受的。谢谢你的帮助!