github.com/RevenueMonster/sqlike@v1.0.6/sql/stmt/stmt.go (about) 1 package sqlstmt 2 3 import ( 4 "sync" 5 ) 6 7 var ( 8 stmtPool = &sync.Pool{ 9 New: func() interface{} { 10 return new(Statement) 11 }, 12 } 13 ) 14 15 // AcquireStmt : 16 func AcquireStmt(fmt Formatter) *Statement { 17 x := stmtPool.Get().(*Statement) 18 x.fmt = fmt 19 return x 20 } 21 22 // ReleaseStmt : 23 func ReleaseStmt(x *Statement) { 24 if x != nil { 25 x.Reset() 26 x.fmt = nil 27 defer stmtPool.Put(x) 28 } 29 }