我有這個 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 關注
- 160 瀏覽
添加回答
舉報
0/150
提交
取消