当前位置: 代码迷 >> 综合 >> go启动报错:panic: runtime error: invalid memory address or nil pointer dereference
  详细解决方案

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

热度:31   发布时间:2023-11-24 02:50:03.0

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

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

  相关解决方案