mirror of https://github.com/jlelse/GoBlog
24 lines
322 B
Go
24 lines
322 B
Go
package builderpool
|
|
|
|
import (
|
|
"strings"
|
|
"sync"
|
|
)
|
|
|
|
var builderPool = sync.Pool{
|
|
New: func() any {
|
|
return new(strings.Builder)
|
|
},
|
|
}
|
|
|
|
func Get() *strings.Builder {
|
|
return builderPool.Get().(*strings.Builder)
|
|
}
|
|
|
|
func Put(bufs ...*strings.Builder) {
|
|
for _, buf := range bufs {
|
|
buf.Reset()
|
|
builderPool.Put(buf)
|
|
}
|
|
}
|