為什么是零?它已經困擾了我大約三個小時。主要.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)
- 1 回答
- 0 關注
- 77 瀏覽
添加回答
舉報
0/150
提交
取消