func (p *Pool) Put(s interface{}) {
	slice := reflect.ValueOf(s)

	if slice.Kind() != reflect.Slice {
		panic(fmt.Sprintf("%+v is not a slice", slice))
	}
	for i, size := range p.sizes {
		if slice.Cap() > size {
			continue
		}
		p.buckets[i].Put(slice.Slice(0, 0).Interface())
		return
	}
}
func (p *Pool) Put(s interface{}) {
	slice := reflect.ValueOf(s)

	if slice.Kind() != reflect.Slice {
		panic(fmt.Sprintf("%+v is not a slice", slice))
	}
	for i, size := range p.sizes {
		if slice.Cap() > size {
			continue
		}
		p.buckets[i].Put(slice.Slice(0, 0).Interface())
		return
	}
}
func ( p * Pool ) Put ( s interface { } ) { slice := reflect . ValueOf ( s ) if slice . Kind ( ) != reflect . Slice { panic ( fmt . Sprintf ( " " , slice ) ) } for i , size := range p . sizes { if slice . Cap ( ) > size { continue } p . buckets [ i ] . Put ( slice . Slice ( 0 , 0 ) . Interface ( ) ) return } }
// Put adds a slice to the right bucket in the pool.
Put adds a slice to the right bucket in the pool .