为什么db变量在函数nil中getBooks?package mainimport ( ...)var db *sql.DBfunc init() { gotenv.Load()}func main() { db, err := sql.Open("postgres", os.Getenv("ELEPHANTSQL_URL")) err = db.Ping() fmt.Println(db, err) router := mux.NewRouter() router.HandleFunc("/books", getBooks).Methods("GET") log.Fatal(http.ListenAndServe("localhost:8000", router))}func getBooks(w http.ResponseWriter, r *http.Request) { if db == nil { log.Print("!!!!!!!!!!") os.Exit(2) }}
1 回答
繁星coding
TA贡献1797条经验 获得超4个赞
随着:=您在范围db内声明一个新变量main(),而不是db在包范围内分配给变量。
您必须使用 just=或使用除db.
尝试这个:
var err error
db, err = sql.Open("postgres", os.Getenv("ELEPHANTSQL_URL"))
- 1 回答
- 0 关注
- 87 浏览
添加回答
举报
0/150
提交
取消