如何在golang中将字节附加到字节数组?不是字节数组到字节数组切片等[重复]

Posted

技术标签:

【中文标题】如何在golang中将字节附加到字节数组?不是字节数组到字节数组切片等[重复]【英文标题】:How to append byte to byte array in golang? Not byte array to byte array slices etc [duplicate] 【发布时间】:2020-10-02 22:01:46 【问题描述】:
var a byte
var b []byte
i know how to do this
c := append(b,a...)

但是我该如何优雅地做到这一点呢?

c := append(a,b...) <-- what's the solution does anyone knows?

希望有 c[0] == a, c[1:] == b 用于下次检查

【问题讨论】:

你不能在 Go 中追加到数组。数组是固定长度的。但是你没有数组,你有一个切片。 除此之外,您所拥有的已经非常优雅了。您希望改进什么? 【参考方案1】:

您可以将a 设为切片,然后将其附加到b

c := append([]bytea, b...)

【讨论】:

【参考方案2】:

你可以使用 bytes.Buffer 来让这个更干净:

var a byte
var buf bytes.Buffer

buf.WriteByte(a)// For a single byte
buf.Write([]bytea)// For byte slice

【讨论】:

为什么选择 bytes.buffer?是慢了还是快了? 它是一个方便的字节切片包装器,它还实现了几个接口,io.Reader、io.Writer 等等。当您需要附加大量值时,它是一个理想的选择,并且它还提供了将字节切片高效转换为字符串的方法。

以上是关于如何在golang中将字节附加到字节数组?不是字节数组到字节数组切片等[重复]的主要内容,如果未能解决你的问题,请参考以下文章

golang 在go中将字节数组转换为int

在python中将字节附加到字符串

如何将字节数组附加到Go中的字节片[重复]

如何在Scala中将文件作为字节数组读取

如何在Java中将二维布尔数组转换为一维字节数组?

如何在Java中将字节数组转换为十六进制格式