Member-only story
golang: NewReader vs NewBufferString
Jan 28, 2022
NewReader
func bytes.NewReader(b []byte) *bytes.Reader
NewReader returns a new Reader reading from b.
NewBufferString
func bytes.NewBufferString(s string) *bytes.Buffer
bytes.NewBufferString
on pkg.go.dev
NewBufferString creates and initializes a new Buffer using string s as its initial contents. It is intended to prepare a buffer to read an existing string.
Difference
// A Reader implements the io.Reader, io.ReaderAt, io.WriterTo, io.Seeker,
// io.ByteScanner, and io.RuneScanner interfaces by reading from
// a byte slice.
// Unlike a Buffer, a Reader is read-only and supports seeking.
// The zero value for Reader operates like a Reader of an empty slice.
The bufferString
creates a mutable buffer.