22 lines
303 B
Go
22 lines
303 B
Go
package helpers
|
|
|
|
import (
|
|
"bytes"
|
|
"sync"
|
|
)
|
|
|
|
var pool sync.Pool
|
|
|
|
func NewBuffer() (*bytes.Buffer, func(*bytes.Buffer)) {
|
|
if v := pool.Get(); v != nil {
|
|
b, _ := v.(*bytes.Buffer)
|
|
b.Reset()
|
|
return b, putter
|
|
}
|
|
return &bytes.Buffer{}, putter
|
|
}
|
|
|
|
func putter(buff *bytes.Buffer) {
|
|
pool.Put(buff)
|
|
}
|