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