【问题标题】:Append byte to a byte buffer in golang将字节附加到golang中的字节缓冲区
【发布时间】:2017-09-29 23:45:43
【问题描述】:

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

我试着像这样追加:

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

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

【问题讨论】:

  • 函数append 用于将值附加到切片,并且 absolutely nothing 与不是切片的 bytes.Buffer 相关。只需写入您的 bytes.Buffer。请阅读文档,尤其是golang.org/pkg/bytes/#Buffer.WriteByte

标签: go byte


【解决方案1】:

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

message.Buf.WriteByte(0xff)

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

【讨论】:

    猜你喜欢
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-24
    相关资源
    最近更新 更多