我有这两个文件:
daoFactory.go
package dao import "sync" type daoFactory struct {} var instance *daoFactory //some functions
fakeProvisionDao.go
package dao import ( "sync" "model" ) type provisionDao struct { } var instance *provisionDao //some functions
两者都在同一个包装中:dao
.
我收到此错误:
"实例"在这个区块重新宣布
显然,原因是instance
在两个文件中都声明了变量.我正在开始编程,我不知道如何处理这个错误.
文件没有真正的意义,不像java,python和许多其他文件,它们只是为了您按照自己的意愿组织代码.
在go中,变量是可见的package
,这意味着两个声明instance
都是具有包广泛可见性的变量.因此编译器抱怨有两个具有相同名称的全局变量.
重命名两个实例变量中的任何一个,它将进行编译.
阅读以上评论中的链接是强烈建议;-)