Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

endereço de memória inválido ou nil pointer dereference golang database


Portanto, a falha é causada pelo ponteiro db ser nil. Isso significa que o código que tenta usar essa conexão na linha 40 causa um pânico.
rows, errrows := db.Query(...

O ponteiro db é nil porque, como Peter apontou, http.ListenAndServe está bloqueando, o que significa nada depois ele será executado.

Tente executar este exemplo localmente para ver o problema:
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)")
}

Você não verá a mensagem de código em execução.