2011-09-13 7 views
21

Devo comporre un messaggio protobuf che dovrebbe avere 1 variabile intera e un array intero.Come aggiungere un array int nel messaggio protobuf

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 

} 

Il mio approccio è corretto? Please help me

Grazie

risposta

23

Array è mappato tramite "ripetuto":

repeated int32 data = 4; 

Nota che si potrebbe desiderare sint32/uint32. Si noti inoltre che in tutti e tre i casi possono essere utilizzati "array imballati", che sono più efficienti;

repeated int32 data = 4 [packed=true]; 
+0

è il concetto di array compresso applicabile anche per i doppi array? – javaMan

+0

posso scrivere facoltativo ripetuto doppio dato = 4 [packed = true]; – javaMan

+0

@Ravi yes, IIRC double va bene. Ma non stringhe o sotto-messaggi, IIRC. Per una copertura completa, la guida alla lingua va in più. –

Problemi correlati