我是 Go lang 的新手,并尝试连接到服务器并在 API 调用时创建数据库。
但我在sqlx.Connect
. 最初我以为是因为我没有定义db *sqlx.DB
. 但它仍然在db, err = sqlx.Connect("mysql", connection)
.
有必要定义一个var err
吗?
func (setupController *SetupController) Setup(w http.ResponseWriter, r *http.Request) {
var db *sqlx.DB
var connection string
response := new(Response)
response.Host = r.FormValue("host")
response.Port = r.FormValue("port")
response.Dbuser = r.FormValue("dbuser")
response.Dbpassword = r.FormValue("dbpassword")
response.Dbname = r.FormValue("dbname")
response.Username = r.FormValue("username")
response.Password = r.FormValue("password")
connection = response.Dbuser + ":" + response.Dbpassword + "@tcp(" + response.Host + ":" + response.Port + ")/" + response.Dbname
db, err = sqlx.Connect("mysql", connection)
userJson, err := json.Marshal(response)
if err != nil {
panic(err)
}
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
w.Write(userJson)
}
谢谢!