gpt4 book ai didi

VIM 去合成 : main redeclared

转载 作者:IT王子 更新时间:2023-10-29 01:06:54 26 4
gpt4 key购买 nike

VIM Syntastic 插件适用于 .go 文件。但有时我想在同一个文件夹中有几个 go 文件,每个文件都有 main() 方法,这样我就可以 go run xxx 每个文件(用于演示)。这将在我保存第二个文件(prog2.go)时导致错误:

main 在 prog1.go 的 block 先前声明中重新声明

我如何告诉 Syntastic 忽略这些错误?

更新 1

Rob Pike 的“Go Concurrency Patterns”和 Francesc Campoy Flores 的“Twelve Go Best Practices”等 Go 官方演讲都将源文件放在同一个文件夹中。所以这个问题不是关于运行 go file 的最佳实践,而是关于如何抑制或忽略这个警告。

更新 2

在我提出问题后 here ,作者很清楚的回答了我的问题。这正是我所需要的。谢谢大家。

最佳答案

你不能,因为这是一个真正的错误。

如果您在一个包中有多个 .go 文件(即 package main),那么您只能有一个 main() 函数.

您应该使用 go build 将您的应用程序构建为可执行二进制文件。 go run 是用于测试单个文件而非完整程序的快速“hack”。

您的选择:

  1. 将它们放在同一个包中并使用go build
  2. 将您的“程序”拆分成单独的包。例如$GOPATH/src/mypkg1$GOPATH/src/mypkg2
  3. 使用脚本语言。

我还建议阅读 How To Write Go Code了解如何管理包。

关于VIM 去合成 : main redeclared,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22160094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com