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

去,异或 - 从其他包导入异或实例,但将为零

去,异或 - 从其他包导入异或实例,但将为零

Go
慕神8447489 2022-09-26 19:32:00
为什么是零?它已经困扰了我大约三个小时。主要.gopackage mainimport (    "sample/db")func main() {        println(db.Xorm)       //nil...why...?}数据库/异物语package dbimport (    _ "github.com/lib/pq"    "xorm.io/xorm")var Xorm *xorm.Enginefunc init() {    url := "user=test host=localhost password=test port=15432 dbname=test sslmode=disable"    Xorm, err := xorm.NewEngine("postgres", url)    _ = Xorm    println(Xorm)           //This is not nil    if err != nil {        panic(err)    }}当我在 db/xorm.go 中定义 “样本变量字符串” 并从 main.go 导入时,它不会为零。
查看完整描述

1 回答

?
qq_花开花谢_0

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

生产线


Xorm, err := xorm.NewEngine("postgres", url)

(请注意 )正在函数的作用域内创建一个新的局部变量,该变量隐藏具有相同名称的包级变量,因此,包级变量将保留 。:=Xorminit()nil


仅用于分配应该可以解决问题,例如:=


var err error

Xorm, err = xorm.NewEngine("postgres", url)


查看完整回答
反对 回复 2022-09-26
  • 1 回答
  • 0 关注
  • 61 浏览
慕课专栏
更多

添加回答

举报

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