我使用github.com/lib/pq将Go与PostgreSQL一起使用。
我想opendb()在其他函数中调用此函数,但是返回值有问题。
package database
import (
"fmt"
"database/sql"
_ "github.com/lib/pq"
)
const (
host = "localhost"
port = 5432
user = "postgres"
password = "pgpassword"
dbname = "postgres"
)
func opendb() (*DB) {
psqlInfo := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s " +
"sslmode=disable", host, port, user, password, dbname)
db, err := sql.Open("postgres", psqlInfo)
if err != nil {
panic(err)
}
defer db.Close()
return db
}
Run Code Online (Sandbox Code Playgroud)
如果运行此命令:
$ go run main.go
Run Code Online (Sandbox Code Playgroud)
它将显示此错误:
error:
undefined: DB
Run Code Online (Sandbox Code Playgroud)
返回数据类型应该正在*sql.DB
改变
func opendb() (*DB) {
至
func opendb() (*sql.DB) {
应该管用
| 归档时间: |
|
| 查看次数: |
777 次 |
| 最近记录: |