feat 初始化

This commit is contained in:
2026-10-29 10:12:22 +08:00
parent 332d812347
commit 09c1df8a22
81 changed files with 2211 additions and 7821 deletions

33
utils/pool_object.go Normal file
View File

@@ -0,0 +1,33 @@
package utils
import (
"sync"
)
type ObjectPool[T any] struct {
pool sync.Pool
}
func NewObjectPool[T any]() *ObjectPool[T] {
return &ObjectPool[T]{
pool: sync.Pool{
New: func() any {
return new(T)
},
},
}
}
func (p *ObjectPool[T]) Get() *T {
return p.pool.Get().(*T)
}
func (p *ObjectPool[T]) Put(obj *T) {
*obj = zero[T]()
p.pool.Put(obj)
}
func zero[T any]() T {
var z T
return z
}