You are missing that it is encoding. Specifically, using VarInt is asking 
for Variable integer 
encoding: https://developers.google.com/protocol-buffers/docs/encoding#varints

The important bit here is that the Varint stores 7-bits of data and 1-bit 
of metadata in each byte (the metadata being whether there are more bits). 
Have a look at the value you stored, 1488220019858895600. In binary, that 
is 1 0100 1010 0111 0011 1000 0011 1001 0001 1111 0101 0000 0111 0010 1111 
0000, which takes 61 bits. Using 7 bits per byte, this takes 8.7.... bytes 
to store, in other words, long enough that it takes 9 bytes because the 
encoding does not use partial by

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to