1
0
mirror of https://github.com/golang/go synced 2024-11-12 05:50:21 -07:00

bytes.Buffer: clarify that NewBuffer is not for beginners

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/4965048
This commit is contained in:
Rob Pike 2011-08-26 15:09:23 +10:00
parent ebf19fb171
commit a45c657db1

View File

@ -336,13 +336,18 @@ func (b *Buffer) ReadString(delim byte) (line string, err os.Error) {
// NewBuffer creates and initializes a new Buffer using buf as its initial // NewBuffer creates and initializes a new Buffer using buf as its initial
// contents. It is intended to prepare a Buffer to read existing data. It // contents. It is intended to prepare a Buffer to read existing data. It
// can also be used to size the internal buffer for writing. To do that, // can also be used to size the internal buffer for writing. To do that,
// buf should have the desired capacity but a length of zero. // buf should have the desired capacity but a length of zero.
//
// In most cases, new(Buffer) (or just declaring a Buffer variable) is
// preferable to NewBuffer. In particular, passing a non-empty buf to
// NewBuffer and then writing to the Buffer will overwrite buf, not append to
// it.
func NewBuffer(buf []byte) *Buffer { return &Buffer{buf: buf} } func NewBuffer(buf []byte) *Buffer { return &Buffer{buf: buf} }
// NewBufferString creates and initializes a new Buffer using string s as its // 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 // initial contents. It is intended to prepare a buffer to read an existing
// string. // string. See the warnings about NewBuffer; similar issues apply here.
func NewBufferString(s string) *Buffer { func NewBufferString(s string) *Buffer {
return &Buffer{buf: []byte(s)} return &Buffer{buf: []byte(s)}
} }