为了账号安全,请及时绑定邮箱和手机立即绑定

Go:在此块中重新声明“实例”

Go:在此块中重新声明“实例”

Go
蝴蝶刀刀 2021-11-29 16:38:51
我有这两个文件:daoFactory.gopackage daoimport "sync"type daoFactory struct {}var instance *daoFactory//some functions假ProvisionDao.gopackage daoimport (    "sync"    "model")type provisionDao struct {}var instance *provisionDao//some functions两者都在同一个包中:dao.我收到此错误:在此块中重新声明的“实例”显然,原因是instance在两个文件中都声明了变量。我正在开始 Go 编程,但我不知道我应该如何处理这个错误。
查看完整描述

1 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

文件对 go 没有真正的意义,与 java、python 和许多其他文件不同,它们只是让你按照你认为合适的方式组织代码。

在 go 中变量是可见的package,这意味着 的两个声明instance都是具有包范围可见性的变量。因此编译器抱怨有两个同名的全局变量。

重命名两个实例变量中的任何一个,它就会编译。

强烈建议阅读以上评论中的链接;-)


查看完整回答
反对 回复 2021-11-29
  • 1 回答
  • 0 关注
  • 213 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信