我有2個bytes.Buffer實體。我想將第二個(我們稱之為src)的結果復制到第一個 ( dst)
顯然io.Copy方法在這種情況下不起作用,因為它需要一個io.Writer介面并且bytes.Buffer沒有實作相應的方法。
這同樣適用于io.CopyBuffer方法。
將一個內容復制bytes.Buffer到另一個的最合適的方法是什么?
uj5u.com熱心網友回復:
用
dst.Write(src.Bytes())
撰寫所有的位元組src到dst哪里src,并dst有一個*bytes.Buffer或一個bytes.Buffer。
uj5u.com熱心網友回復:
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())
}
https://godocs.io/bytes#Buffer.Write
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/343555.html
上一篇:在Go中將任意函式作為引數傳遞
