我有这个 golang 文件:package mainimport ( "log" "sync" "github.com/jmoiron/sqlx")var db *sqlx.DBvar once sync.Once// GetDBConnection whateverfunc GetDBConnection() { once.Do(func() { db, err := sqlx.Connect("postgres", "user=tom dbname=jerry password=myPassword sslmode=disable") if err != nil { log.Fatalln(err) } }) return db // <<< error here}我收到此错误:Too many arguments to return我只是想创建一个单例模式并返回数据库连接。我不确定从 sqlx.Connect 返回的内容是否是 sqlx.DB 类型,这可能是问题所在。有没有一种快速的方法来确定的返回类型sqlx.Connect()?
1 回答
长风秋雁
TA贡献1757条经验 获得超7个赞
您已声明该函数GetDBConnection()
不返回任何参数。
func GetDBConnection() {
你必须告诉 Go你打算返回的参数的类型:
func GetDBConnection() *sqlx.DB {
至于确定类型,我只是去看了源码。您还可以查看godoc.org 上的文档,它是从公开可用的 Go 包自动生成的。
- 1 回答
- 0 关注
- 91 浏览
添加回答
举报
0/150
提交
取消