buffer.go 370 B

12345678910111213141516171819202122232425
  1. package pool
  2. import (
  3. "bytes"
  4. "sync"
  5. )
  6. var bufferPool = sync.Pool{
  7. New: func() interface{} {
  8. return &bytes.Buffer{}
  9. },
  10. }
  11. // NewBuffer get Buffer from poll
  12. func NewBuffer() *bytes.Buffer {
  13. b := bufferPool.Get().(*bytes.Buffer)
  14. b.Reset()
  15. return b
  16. }
  17. // PutBuffer add *bytes.Buffer to the pool.
  18. func PutBuffer(b *bytes.Buffer) {
  19. b.Reset()
  20. bufferPool.Put(b)
  21. }