我刚刚开始学习go,并且正在使用Atom和go-plus包进行编码。因此,我的所有代码都驻留在一个文件夹中,每个文件都有自己的func main。
每次我保存代码时,linter都会运行并给出错误main redeclared in this block。我知道当我开始在一个实际的项目中使用go时,我需要每个文件夹只有一个main,但现在,这不是必要的。有多个文件夹,每个文件夹中只有一个文件,这是相当麻烦的。
有没有什么办法可以在linter中关闭"main redeclared“选项?
发布于 2018-12-24 01:27:10
和你一样,我也有同样的问题,我刚开始用Atom学习Go语言,但经过一些研究,我发现这个链接可以解决我们的问题。
https://github.com/lucasb-eyer/go-colorful/issues/5
建议的解决方案是在文件名中添加下划线字符"_"。通过这种方式,您将拥有一个结构如下的项目文件夹:
Go工作区
的
而且Atom不会显示错误消息main redeclared in this block,但是要通过teminal运行_example1.go,您必须删除"_"并将其添加到example2.go,这样您就可以运行example1.go了。
发布于 2018-12-24 01:31:44
如果你使用终端来运行你的单一文件go程序,你可以处理这个错误。运行go run example1.go将不会出现任何错误地运行您的代码。运行go run example2.go还将运行您的其他文件,而不会出现错误。
发布于 2019-04-19 00:32:15
最近(2019), (initiated in July 2017)是一个很好的选择:
使用配置文件启用或禁用规则的
而且它有一个Atom plugin。
最后一点将允许您开发一个自定义规则,如果在一个文件夹中检测到多个main(),则分析并不显示任何内容。
https://stackoverflow.com/questions/48944560
复制相似问题