根据您的应用程序的工作方式,您可以
- 保持
db
全球 db
作为 参数* 传递 *- 让
addRoom
一个 方法
我通常为API服务所做的是创建一个 global
db,如下所示:
var db *sql.DBfunc main() { var err error db, err = sql.Open("sqlite3", "./house.db") checkErr(err) // create room Room{} err = addRoom(room) checkErr(err)}但是您也可以将db作为 参数 传递:
func addRow(db *sql.DB, row Room) error
或者,您可以创建一个 struct
将连接保留为属性并创建
addRow方法的方法:
type dbConn struct { db *sql.DB}func (conn dbConn) addRow(row Room) error这本书有一些很好的例子。



