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

How to compile a go project with multiple packages and files to get an executable file in linux platform?

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

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 build

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

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

完成这些页面(以及它们导向的其他页面)中的示例;这将回答你的大部分问题。第二个 link,特别是谈论如何正确使用 go buildgo install 来构建您的项目。