var myDB *db.DB
func init() {
myDB, err := db.OpenDB("db")
if err := myDB.Create("Feeds"); err != nil {}
if err := myDB.Create("Votes"); err != nil {}
}
func idb() {
for _, name := range myDB.AllCols() {
fmt.Printf("I have a collection called %s\n", name)
}
}
func main() {
idb()
}
我收到以下错误:
可能是因为
myDB
是nil
,但是为什么以及如何解决它,以便可以在init中设置myDB?请注意,如果我只删除main中的所有内容而不使用全局变量,则它可以工作。
最佳答案
myDB
是本地init
函数变量。 :=
是一个简短的变量声明。
myDB, err := db.OpenDB("db")
要更新软件包
myDB
变量,请编写,var err error
myDB, err = db.OpenDB("db")
关于go - 为什么我的特征数据库指针为零?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26663260/