【发布时间】:2021-10-02 04:07:56
【问题描述】:
// AppendVarint appends v to b as a varint-encoded uint64.
func AppendVarint(b []byte, v uint64) []byte {
switch {
case v < 1<<7:
b = append(b, byte(v))
case v < 1<<14:
b = append(b,
byte((v>>0)&0x7f|0x80),
// ...
}
return b
}
在需要内存复制时使用追加
但我们知道长度
这是不是更好?
我们为什么不这样做
switch {
case v < 1<<7:
b = []byte{byte(v)}
case v < 1<<14:
b = []byte{byte((v>>0)&0x7f|0x80), byte(v>>7)}
【问题讨论】:
-
您能否尝试更全面地表达您的问题,并解释您要达到的目标?
标签: go protocol-buffers grpc