我刚得到一个错误:

服务器

server / server.go:73:未定义:foo.MyName

我一开始不了解,所以尝试更改函数的名称等。
因此,我创建了一个名为MyName()的函数,该函数返回一个字符串,即我的名字。

但是,错误再次出现。.一个多小时后,我只是尝试在foo包中注释所有代码! 我现在想说的是……#PS:我也评论了server.go:73行..并且..它可以编译并且完全可以工作?!

我注释了我的代码,但它似乎仍然在这里? 所以现在我的问题是:

Golang重新编译某些文件是否有问题?

-------------------------------------

工作空间

我正在制作" go build main.go"

我还阅读了如何编写Go代码而未找到任何解决方案...

一些提示? 谢谢 !


所以我猜你的开发树看起来像这样:

如您在如何编写Go代码中所见,应该为您的项目提供一个文件夹,因此main.go应该为someproject/main.go,然后可以使用go build来构建整个项目。

理想情况下,您希望将所有项目都放在其网址的文件夹中,例如github.com/yourname/projectname。即使不公开发布特定项目,我也建议您遵循此约定。我将所有项目(甚至是不在github中的项目)都保留在github/my user文件夹中。这样,您可以更轻松地查找和分类所有软件。

如果要构建项目及其所有依赖项(在本例中为server / server.go),则可以执行go build ./...

您也可以进入服务器软件包并执行go install来安装内部版本并重新安装该软件包。

所以你应该有这样的东西:

然后转到src/main/并执行go build ./...来构建所有依赖项。理想情况下,您将需要执行go install ./...,以便将库安装在正确的路径上,并且还可以在正确的路径而不是在src文件夹中创建二进制文件。如果这样做,则需要运行二进制文件bin/main。我建议您在路径中添加GOPATH/bin,以便可以安装软件并直接运行它而无需进入bin文件夹。

导入或使用服务器软件包的方式可能存在一些错误。如果您不发布代码,这是我能做的最好的事情。

编辑:进一步考虑这一点后,我相信我发现了错误。您正在执行go build来构建整个项目,并且有时在服务器库上执行了go install。因此,现在go build正在使用pkg中库的已编译版本,因此,如果要解决此问题,请在服务器文件上go install或在主文件夹上go install ./...

这不是Go中的错误,通常您不希望更改库来破坏代码,因此您必须记住在尝试代码之前安装新版本的库。