How to add a int array in protobuf message

2020-05-30 11:18发布

问题:

I have to compose a protobuf message which should have 1 integer variables and a integer array.

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

}

Is my approach correct? Please help me

Thanks

回答1:

Array is mapped via "repeated":

 repeated int32 data = 4;

Note you might want sint32/uint32. Also note that in all three cases "packed arrays" can be used, which are more efficient;

repeated int32 data = 4 [packed=true];