将一个 bytes.Buffer 的内容写入(或复制)到另一个
Write (or copy) the contents of one bytes.Buffer to another
我有 2 个 bytes.Buffer
个实例。我想将第二个(我们称之为 src
)的结果复制到第一个(dst
)
显然 io.Copy
方法在这种情况下不起作用,因为它需要一个 io.Writer
接口并且 bytes.Buffer
没有实现相应的方法。
io.CopyBuffer
方法也是如此。
将一个 bytes.Buffer
的内容复制到另一个最合适的方法是什么?
使用
dst.Write(src.Bytes())
将 src
中的所有字节写入 dst
,其中 src
和 dst
是 *bytes.Buffer
或 bytes.Buffer
。
bytes.Buffer
确实实现了 io.Writer
,但前提是它是一个指针:
package main
import "bytes"
func main() {
a := bytes.NewBufferString("hello world")
b := new(bytes.Buffer)
b.ReadFrom(a)
println(b.String())
}
我有 2 个 bytes.Buffer
个实例。我想将第二个(我们称之为 src
)的结果复制到第一个(dst
)
显然 io.Copy
方法在这种情况下不起作用,因为它需要一个 io.Writer
接口并且 bytes.Buffer
没有实现相应的方法。
io.CopyBuffer
方法也是如此。
将一个 bytes.Buffer
的内容复制到另一个最合适的方法是什么?
使用
dst.Write(src.Bytes())
将 src
中的所有字节写入 dst
,其中 src
和 dst
是 *bytes.Buffer
或 bytes.Buffer
。
bytes.Buffer
确实实现了 io.Writer
,但前提是它是一个指针:
package main
import "bytes"
func main() {
a := bytes.NewBufferString("hello world")
b := new(bytes.Buffer)
b.ReadFrom(a)
println(b.String())
}