defer
下面是一个使用 defer 的实例:
1 2 3 4 5 6 7 8 9 10
func createPost(db *gorm.DB) error { tx := db.Begin() defer tx.Rollback() if err := tx.Create(&Post{Author: "Draveness"}).Error; err != nil { return err } return tx.Commit().Error }
可见它的用法是:defer 之后指定的语句,会在整个函数执行结束的时候执行。