如何在http goroutines之间共享mysql连接?

我是 Go noob,找不到任何在 Go 中打开 mysql 连接然后在 http 处理程序之间共享它的完整示例。到目前为止,这是我的代码,我将如何使用我在 HomeHandler 的 main() 中打开的数据库连接?


package main


import (

  "database/sql"

  "fmt"

  _ "github.com/go-sql-driver/mysql"

  "github.com/gorilla/mux"

  "log"

  "net/http"

)


func main() {


  fmt.Println("starting up")


  db, err := sql.Open("mysql", "root:@/mydb?charset=utf8")

  if err != nil {

    log.Fatalf("Error opening database: %v", err)

  }


  db.SetMaxIdleConns(100)


  r := mux.NewRouter()

  r.HandleFunc("/", HomeHandler)


  http.Handle("/", r)

  http.ListenAndServe(":8080", nil)


}


func HomeHandler(w http.ResponseWriter, r *http.Request) {


  fmt.Fprintf(w, "home")


}



神不在的星期二
浏览 165回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go