package pool import ( "bytes" "sync" ) var ( bufferPool sync.Pool ) func Get() *bytes.Buffer { if v := bufferPool.Get(); v == nil { return new(bytes.Buffer) } else { return v.(*bytes.Buffer) } } func Put(sb *bytes.Buffer) { sb.Reset() bufferPool.Put(sb) }