我有一个简单的 golang 例程,用于database/sql打开与我的 Postgres DB 的连接并执行一些操作
package main
import (
"fmt"
"database/sql"
_ "github.com/lib/pq"
"log"
)
const (
DB_USER = "my_user"
DB_NAME = "my_postgres_db"
)
// The return type here is wrong - what should it be?
func establish_db_connection() sql.DB {
dbinfo := fmt.Sprintf(
"user=%s password=%s dbname=%s sslmode=disable",
DB_USER, nil, DB_NAME)
db, err := sql.Open("postgres", dbinfo)
if err != nil { log.Fatal(err) }
return db
}
func main() {
// Get a connection to the DB
db := establish_db_connection()
// Do other stuff
// ...
// ...
}
我在为establish_db_connection函数编写签名时遇到问题-
func establish_db_connection() sql.DB {
该文件表明,它返回一个sql.DB实例。那么这不应该是返回类型吗?
我是 golang 的超级新手,所以只是第一次弄清楚其中的大部分内容。
慕运维8079593
相关分类