Как добавить массив int в сообщение protobuf - PullRequest
29 голосов
/ 14 сентября 2011

Я должен составить сообщение protobuf, которое должно иметь 1 целочисленную переменную и массив целых чисел.

package protobuf;

message myProto {

optional uint32 message_id =1;
optional int update = 2;
//here I have to add a array of integers
//can I write like     optional int[] array =3;
//or should I use      optional repeated array;
//where array is another message with int variable

}

Мой подход правильный?Пожалуйста, помогите мне

Спасибо

1 Ответ

36 голосов
/ 14 сентября 2011

Массив отображается с помощью «повторяется»:

 repeated int32 data = 4;

Обратите внимание, что вы можете захотеть sint32 / uint32. Также обратите внимание, что во всех трех случаях можно использовать «упакованные массивы», которые более эффективны;

repeated int32 data = 4 [packed=true];
...