Golang中忘记导入包怎么办?
Golang中忘记导入包怎么办? 出现错误:
2019/03/02 11:23:33 sql: unknown driver “postgres” (forgotten import?) exit status 1
在代码中
db, err := sql.Open(“postgres”, os.Getenv(“ELEPHANTSQL_URL”))
“database/sql” 已经在导入列表中, 是否需要使用其他导入?
db, err := sql.Open("postgres", os.Getenv("ELEPHANTSQL_URL"))
2 回复
是的,您忘记导入 PostgreSQL 驱动程序了。
类似这样:
import _ "package/name/of/driver/for/postgres"
更多关于Golang中忘记导入包怎么办?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
这个错误是因为虽然导入了 database/sql 包,但没有导入 PostgreSQL 数据库驱动包。database/sql 包只提供了通用的数据库操作接口,具体的数据库驱动需要单独导入。
你需要导入 PostgreSQL 驱动包。在 Go 中,通常使用 github.com/lib/pq 作为 PostgreSQL 驱动。
在你的导入部分添加:
import (
"database/sql"
_ "github.com/lib/pq"
"os"
)
注意驱动包前面的下划线 _,这是 Go 中的空白导入,用于执行包的初始化代码(注册驱动),而不直接使用包中的函数。
完整示例:
package main
import (
"database/sql"
_ "github.com/lib/pq"
"log"
"os"
)
func main() {
db, err := sql.Open("postgres", os.Getenv("ELEPHANTSQL_URL"))
if err != nil {
log.Fatal(err)
}
defer db.Close()
// 测试数据库连接
err = db.Ping()
if err != nil {
log.Fatal(err)
}
log.Println("成功连接到 PostgreSQL 数据库")
}
首先需要安装驱动包:
go get github.com/lib/pq
这样就能解决 “unknown driver” 的错误了。

