. Tutti gli esempi di prototipi iniziano a numerare i loro campi in uno.I campi dei file .proto iniziano da zero?
ad es. https://developers.google.com/protocol-buffers/docs/proto#simple
message SearchRequest {
required string query = 1;
optional int32 page_number = 2;
optional int32 result_per_page = 3;
}
Se può essere utilizzato zero, farà alcuni messaggi uno o più byte più piccola (cioè quelli con uno o più numeri di campo 16).
Come la chiave è semplicemente una codifica varint di (fieldnum < < 3 | fieldType) non riesco a vedere subito perché non devono essere utilizzati a zero.
C'è un motivo per non iniziare la numerazione dei campi a zero?
Stavo per fare questa domanda perché noi come programmatori siamo abituati a partire da zero. Grazie per averlo chiesto! – Sericaia