将字节追加到golang中的字节缓冲区

Pav*_*n K 1 byte go

我有一个消息字节缓冲区,我想在缓冲区末尾附加一个字节

我尝试像这样附加:

append(message.Buf, 0xff)
first argument to append must be slice; have *bytes.Buffer

append(0xff,message.Buf)
first argument to append must be slice; have untyped number
Run Code Online (Sandbox Code Playgroud)

如何将 0xff 作为切片来附加?

icz*_*cza 5

您有一个类型的缓冲区bytes.Buffer(或更具体地说是指向该类型的指针)。它有一个Buffer.WriteByte()方法,只需使用它:

message.Buf.WriteByte(0xff)
Run Code Online (Sandbox Code Playgroud)

append()您尝试调用的内置函数是将值附加到slicesbytes.Buffer不是切片,您不能使用它append()(它是使用内部切片实现的,但这是一个您不应该构建/利用的实现细节)。