有没有可能将defer
延迟到外部函数的结尾?
// normal transaction
func dbStuff(){
db.Begin()
...
db.Commit()
}
// normal transaction w/ defer
func dbStuff(){
db.Begin()
defer db.Commit()
...
}
这是可能的吗?
// can you defer to caller / outer function?
func dbStuff(){
db.Trans()
...
}
// will Commit() when dbStuff() returns
func (db Db) Trans(){
db.Begin()
defer db.Commit() // to caller/outer function
}