go启动报错:panic: runtime error: invalid memory address or nil pointer dereference

具体解释参考博文:
一个有关Golang变量作用域的坑

报错如下:
在这里插入图片描述
解决:
把下面的 DB, err := gorm.Open 中的冒号去掉就行了:
在这里插入图片描述
最初的理解是golang会定义新变量err,DB为初始定义的那个全局变量。但实际情况是,对于使用:=定义的变量,如果新变量DB与那个同名已定义变量 (这里就是那个全局变量DB)不在一个作用域中时,那么golang会新定义这个变量DB,遮盖住全局变量DB,这就是导致这个问题的真凶。

发布了100 篇原创文章 · 获赞 15 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_37767455/article/details/104805762