一尘不染

写到Golang缓冲区的开头?

go

我有:

var buffer bytes.Buffer
s := "something to do"
for i := 0; i < 10; i++ {
   buffer.WriteString(s)
}

哪个追加到缓冲区,是否可以写入缓冲区的开头?


阅读 274

收藏
2020-07-02

共1个答案

一尘不染

由于基础buf不是从导出的bytes.Buffer,因此您可以使用:

buffer.WriteString("B")
s := buffer.String()
buffer.Reset()
buffer.WriteString("A")
buffer.WriteString(s)

试试这个The Go Playground

package main

import (
    "bytes"
    "fmt"
)

func main() {
    var buffer bytes.Buffer
    buffer.WriteString("B")
    s := buffer.String()
    buffer.Reset()
    buffer.WriteString("A" + s)
    fmt.Println(buffer.String())
}

输出:

AB
2020-07-02