我刚刚开始学习go并且正在使用带有go-plus包的Atom进行编码。因此,我的所有代码都驻留在一个文件夹中,每个文件都有自己的func main。
每次保存代码时,linter都会运行并提供错误main redeclared in this block
。据我所知,当我开始在实际项目中使用go时,我需要每个文件夹只有一个主文件,但是现在,这是不必要的。拥有多个文件夹,每个文件夹只有一个文件是非常麻烦的。
有什么办法可以关掉主要重新宣传的"在linter中的选项?
答案 0 :(得分:1)
我遇到了同样的问题,就像您一样,我刚刚开始使用Atom学习Go语言,但经过一些研究后发现此链接可以解决我们的问题。
https://github.com/lucasb-eyer/go-colorful/issues/5
建议的解决方案是在文件名中添加下划线字符"_"
。这样,您将拥有一个结构如下的项目文件夹:
上班
- _example1.go
- example2.go
并且Atom不会显示错误消息main redeclared in this block
,但是要通过终端_example1.go
运行,必须删除"_"
并将其添加到example2.go
,这样您才能可以运行example1.go
。
答案 1 :(得分:0)
如果使用终端运行单文件go程序,则可以处理该错误。运行go run example1.go
将运行您的代码而不会出现任何错误。运行go run example2.go
也会运行您的其他文件,而不会出错。
答案 2 :(得分:0)
最近(2019年),github.com/mgechev/revive
(initiated in July 2017)是一个很好的选择:
它有一个Atom plugin。
最后一点是让您开发一个自定义规则,如果在一个文件夹中检测到多个main()
,则该规则将分析并且不显示任何内容。