buffer.go 278 B

12345678910111213141516171819202122
  1. package pool
  2. import (
  3. "bytes"
  4. "sync"
  5. )
  6. var (
  7. bufferPool sync.Pool
  8. )
  9. func GetBuffer() *bytes.Buffer {
  10. if v := bufferPool.Get(); v != nil {
  11. return v.(*bytes.Buffer)
  12. }
  13. return bytes.NewBuffer([]byte{})
  14. }
  15. func PutBuffer(b *bytes.Buffer) {
  16. b.Reset()
  17. bufferPool.Put(b)
  18. }