问题描述
protobuf消息中的属性是第一成员还是第二成员有什么区别?
我拥有的请求原型消息有2个字段。我被要求交换属性的位置
message SomeRequest {
SomeMessage1 message1 = 1;
SomeMessage2 message2 = 2;
}
更改为:
message SomeRequest {
SomeMessage2 message2 = 1;
SomeMessage1 message1 = 2;
}
这种建议的可能原因是什么?希望对message2进行更多搜索? 另外我还可以通过其他一些场景来更好地理解它吗?
提前谢谢!
解决方法
最终,谁要求这个更改-也许是问他们的原因?
在 场景中,较低的字段编号更便宜(在空间方面),因此应首选,但字段1和2在空间方面相同,因此不必担心在这里。
如果这是为了与已有的类似类型兼容,则可能是合理的请求。