为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕仙森 2023-04-24 17:06:50
我有这段代码。问题出在函数中,我试图在外部范围内分配给 db var,但它最终被声明为局部变量。var db *sqlx.DBfunc 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给外部范围,而不是将其声明为局部变量?
查看完整描述

1 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

var db *sqlx.DB


func 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

}


查看完整回答
反对 回复 2023-04-24
  • 1 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信