猿问

将本地结果分配给外部范围

我有这段代码。问题出在函数中,我试图在外部范围内分配给 db var,但它最终被声明为局部变量。


var db *sqlx.DB


func GetDatabaseConnection() *sqlx.DB {


    if db == nil {


        db, err := sqlx.Connect("postgres", "user=foo dbname=bar sslmode=disable")

        if err != nil {

            log.Fatalln(err)

        }


    }


    return db

}

我的问题是,关于这一行:


db, err := sqlx.Connect(...)

我如何分配db给外部范围,而不是将其声明为局部变量?


慕仙森
浏览 85回答 1
1回答

长风秋雁

var db *sqlx.DBfunc GetDatabaseConnection() *sqlx.DB {    if db == nil {        var err error # ADD THIS LINE, AND DO = INSTEAD OF := ON NEXT LINE        db, err = sqlx.Connect("postgres", "user=foo dbname=bar sslmode=disable")        if err != nil {            log.Fatalln(err)        }    }    return db}
随时随地看视频慕课网APP

相关分类

Go
我要回答