VS代码:在此块中重新声明Go-main
VS代码中会弹出此警告/问题 在此块编译器中重新声明的main(DuplicateDecl) 其他主要声明VS代码:在此块中重新声明Go-main,go,visual-studio-code,Go,Visual Studio Code,VS代码中会弹出此警告/问题 在此块编译器中重新声明的main(DuplicateDecl) 其他主要声明 我将所有的围棋练习文件放在一个目录中,每个文件都有一个func main()块 有人熟悉这个警告吗?如果是,我可以如何解决 但是,即使我犯了这个错误。。或者你管它叫什么 我仍然可以在终端中运行我的Go代码,并查看我的输入/输出,没有任何错误。一天结束时,我通过为每个Go文件创建一个目录解决了这个问题 我知道这不是解决这个问题的完美办法 如果有人知道一些事情,请与我们分享。将它们分离到自己的
我将所有的围棋练习文件放在一个目录中,每个文件都有一个func main()块 有人熟悉这个警告吗?如果是,我可以如何解决 但是,即使我犯了这个错误。。或者你管它叫什么
我仍然可以在终端中运行我的Go代码,并查看我的输入/输出,没有任何错误。一天结束时,我通过为每个Go文件创建一个目录解决了这个问题
我知道这不是解决这个问题的完美办法
如果有人知道一些事情,请与我们分享。将它们分离到自己的目录中是唯一的解决方案
在Go中,目录是一个包,包只能有一个具有给定名称的函数(除了
init()
,这是一个特例)。您认为目录中的所有.go
文件都是独立的,但go不是;它看到一个包,该包声明了多个名为main
的函数,这是不允许的。如果使用go run
命令执行实践文件,则将此构建约束添加到包含main()的每个文件的顶部:/+build ignore
。否则,请为每个命令使用单独的目录。“我的所有围棋练习文件都在一个目录中,每个文件都有一个func main()块。”--这是您的问题。这是不允许的。每个包只能有一个func main()
。每个包都必须在自己的目录中。“我知道这不是解决这个问题的完美方案。”--不,这是完美的解决方案。事实上,这是唯一的解决办法。