為什么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 關注
- 125 瀏覽
添加回答
舉報
0/150
提交
取消