Google Protocol Buffers int32 与 int64

DD.*_*DD. 6 protocol-buffers

如果我在 int32 中存储一个整数字段......这会比 int64 使用更多的空间吗?据我了解,varint 将根据存储的数字的大小调整其大小。

Mar*_*ell 6

不,这只会影响生成的代码。任何组合都[s|u]int{32|64}使用“varint”编码,因此大小通常与大小有关,至少在注意到负数的差异之后。特别是,一个使用的负数sint*将不成比例地大(10 个字节,IIRC),无论它是 32 还是 64。