package main
import (
"fmt"
"runtime"
"sync"
)
func main() {
p := &sync.Pool{
New: func() interface{} {
return 0
},
}
a := p.Get()
p.Put(100)
p.Put(200)
// Pool的缓存期限是两次gc之间这段时间
runtime.GC()
p.Put(300)
b := p.Get()
fmt.Printf("a(%T)=%v\n", a, a)
fmt.Printf("b(%T)=%v\n", b, b)
c := p.Get()
fmt.Printf("c(%T)=%v\n", c, c)
d := p.Get()
fmt.Printf("d(%T)=%v\