Merge pull request #76 from pellared/patch-1

Fix sync.Pool example
This commit is contained in:
Teiva Harsanyi 2024-03-05 18:19:46 +01:00 committed by GitHub
commit fcf6b82acf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -7,17 +7,21 @@ import (
var pool = sync.Pool{ var pool = sync.Pool{
New: func() any { New: func() any {
return make([]byte, 1024) b := make([]byte, 1024)
return &b
}, },
} }
func write(w io.Writer) { func write(w io.Writer) {
buffer := pool.Get().([]byte) bPtr := pool.Get().(*[]byte)
buffer = buffer[:0] defer func() {
defer pool.Put(buffer) *bPtr = (*bPtr)[:0]
pool.Put(bPtr)
}()
getResponse(buffer) b := *bPtr
_, _ = w.Write(buffer) getResponse(b)
_, _ = w.Write(b)
} }
func getResponse([]byte) { func getResponse([]byte) {