Что означает «1», «2», «3» в protobuf? - PullRequest
1 голос
/ 26 января 2012
package tutorial;

message Person {
  required string name = 1;
  required int32 id = 2;
  optional string email = 3;
}

Что означает «1», «2», «3»?

Ответы [ 2 ]

2 голосов
/ 26 января 2012

Каждое поле в определении сообщения имеет уникальный пронумерованный тег. Эти теги используются для идентификации ваших полей в двоичном формате сообщения и не должны изменяться после использования типа вашего сообщения.

http://code.google.com/intl/de-DE/apis/protocolbuffers/docs/proto.html

1 голос
/ 26 января 2012

Это номера полей - они используются в представлении проводов, чтобы определить, какое поле связано со значением.Это означает, что переименование поля не является серьезным изменением (с точки зрения формата проводника), и сами имена не должны быть сериализованы.

...