如何在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中将字节附加到字节数组?不是字节数组到字节数组切片等[重复]的主要内容,如果未能解决你的问题,请参考以下文章