欢迎来到。
可以使用全局变量,特别是数据库对象。
但是,有几种解决方法,如果您不愿意,例如,您可以创建一个结构并
showHandler在其上定义您的结构。
type Users struct { db *gorm.DB}func (users *Users) showHandler(w http.ResponseWriter, r *http.Request) { //now you can use users.db}func (users *Users) addHandler(w http.ResponseWriter, r *http.Request) { //now you can use users.db}// setupusers := &Users{db: createDB()}router.HandleFunc("/users/{id}", users.showHandler).Methods("GET")router.HandleFunc("/users/new", users.addHandler)//etc另一种方法是创建包装函数:
db := createDB()router.HandleFunc("/users/{id}", func(w http.ResponseWriter, r *http.Request) { showUserHandler(w, r, db)}).Method("GET")


