package comm import ( "sync" ) var taskParamPool = &sync.Pool{ New: func() interface{} { return &TaskParam{} }, } func GettaskParam(t TaskType, p ...int32) *TaskParam { task := taskParamPool.Get().(*TaskParam) task.TT = t task.Params = append(task.Params, p...) return task } func PuttaskParam(r *TaskParam) { r.Params = r.Params[:0] taskParamPool.Put(r) }