我想从 protobuf 和序列化/反序列化的角度了解下面的消息是否兼容。message HelloReply { string message = 1; string personalized_message = 2;}message HelloReply { string personalized_message = 2; string message = 1;}在任何情况下,顺序对兼容性是否重要?
1 回答
牧羊人nacy
TA贡献1862条经验 获得超7个赞
文本顺序在很大程度上是无关紧要的,尽管它可能会影响一些代码生成工具——但大多数语言并不关心声明顺序,所以即使这样:也没关系。这些字段仍然在语义上等价地定义 - 数字与现有含义(名称)和类型匹配。数字是识别字段的决定性特征。
在协议级别:
解析器必须允许任何顺序的字段
序列化程序应该(但不是必须)按数字字段升序写入字段
- 1 回答
- 0 关注
- 69 浏览
添加回答
举报
0/150
提交
取消