1package bufpool 2 3import ( 4 "bytes" 5 "sync" 6) 7 8var bufferPool = sync.Pool{ 9 // New is called when a new instance is needed 10 New: func() interface{} { 11 return new(bytes.Buffer) 12 }, 13} 14 15// GetBuffer from pool. 16func GetBuffer() *bytes.Buffer { 17 return bufferPool.Get().(*bytes.Buffer) 18} 19 20// PutBuffer to pool. 21func PutBuffer(buf *bytes.Buffer) { 22 buf.Reset() 23 bufferPool.Put(buf) 24} 25