如何在linux平台上编译一个包含多个包和文件的go项目以获得一个可执行文件?

如何在linux平台上编译一个包含多个包和文件的go项目以获得一个可执行文件?,go,compilation,Go,Compilation,例如,我有一个具有以下结构的项目: hello - packageA - subDirA - Afile1.go - Afile2.go - packageB - Bfile.go - Bfile2.go - packageC - main.go - subdirC - xx.json - packageD -xx.

例如,我有一个具有以下结构的项目:

hello
    - packageA
        - subDirA
        - Afile1.go
        - Afile2.go
    - packageB
        - Bfile.go 
        - Bfile2.go
    - packageC
        - main.go
        - subdirC
          - xx.json
    - packageD
        -xx.go
如何在Linux平台上构建它们并获取可执行文件xxx,这样我就可以通过./xxxx直接调用它们?

简短回答:开始构建

您可以运行go help build来了解有关如何使用它的更多信息。例如,您可能希望提供一个特定的路径来进行构建,或者使用。/。。。。这取决于项目的确切布局

我强烈建议您先阅读一些官方Go文档页面:


完成这些页面和其他页面中的示例;这将回答您的大部分问题。第二个链接特别谈到如何正确使用go build和go install来构建您的项目。

为什么不进行构建?为了方便起见:@Volker我使用go build hello,但它抛出了一个错误:xxx/hello中没有go文件。在主包所在的位置进行go build。以及Do go build不进行任何构建。但最好的建议是:阅读文档和教程,试着理解什么是包,什么是主包,什么是模块。