为了账号安全,请及时绑定邮箱和手机立即绑定

protobuf 消息字段 id 和字段顺序的关系是什么?

protobuf 消息字段 id 和字段顺序的关系是什么?

Go
幕布斯7119047 2022-10-10 19:59:35
我想从 protobuf 和序列化/反序列化的角度了解下面的消息是否兼容。message HelloReply {  string message = 1;  string personalized_message = 2;}message HelloReply {  string personalized_message = 2;  string message = 1;}在任何情况下,顺序对兼容性是否重要?
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

文本顺序在很大程度上是无关紧要的,尽管它可能会影响一些代码生成工具——但大多数语言并不关心声明顺序,所以即使这样:也没关系。这些字段仍然在语义上等价地定义 - 数字与现有含义(名称)和类型匹配。数字是识别字段的决定性特征。

在协议级别:

  • 解析器必须允许任何顺序的字段

  • 序列化程序应该(但不是必须)按数字字段升序写入字段


查看完整回答
反对 回复 2022-10-10
  • 1 回答
  • 0 关注
  • 56 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信