したがって、クラッシュはdbポインタがnilであることが原因です。これは、40行目でその接続を使用しようとするコードがパニックを引き起こすことを意味します。
rows, errrows := db.Query(...
Peterが指摘したように、http.ListenAndServeがブロックしているため、dbポインタはnilです。これは、何もないことを意味します。 それが実行された後。
この例をローカルで実行して、問題を確認してください。
package main
import (
"net/http"
)
func Group(res http.ResponseWriter, req *http.Request) {
println("group handler")
}
func main() {
http.HandleFunc("/group/", Group)
err := http.ListenAndServe(":9001", nil)
if err != nil {
panic(err)
}
println("Running code after ListenAndServe (only happens when server shuts down)")
}
実行中のコードメッセージは表示されません。