This is a creation in Article, where the information may have evolved or changed.
Adjust as needed, the configuration is saved separately in the configuration file, the required package is downloaded in the import
package Utilimport ("Database/sql" "Fmt" _ "Github.com/go-sql-driver/mysql" "Github.com/robfig/config") var (DB_NAME,DB_USER, Db_pass,db_host,db_port string) Func init () {c, _: = Config. Readdefault ("Config/config.ini") db_user, _ = c.string ("db", "Db_user") db_pass, _ = c.string ("db", "Db_pass") db_host, _ = C.string ("db", "Db_host") db_name, _ = c.string ("db", "db_name") db_port, _ = c.string ("db", "Db_port") fmt. Println ("\ n current server IP and port:", Db_host, Db_port, Db_user, Db_pass, db_name)}func getdbconnetion (DB *sql.) DB, errstr error) {db, err: = SQL. Open ("MySQL", FMT.) Sprintf ("%s:%s@tcp (%s:%s)/%s?charset=utf8", Db_user, Db_pass, Db_host, Db_port, db_name)) if err! = Nil {fmt. Println ("\nconnection mysql error") return DB, Err}//defer db. Close () db. Setmaxopenconns (+) db. Setmaxidleconns (+) Err = db. Ping () if err! = Nil {fmt. Println ("\nopen mysql error", err) return db, Err}return db, nil}