Go 包按目录划分范围。这意味着您在一个目录中只能有一个包,因此最多只能有一个“主”包。你想做的事根本不可能*。您需要创建子目录:functions/hello/hello.go
functions/hello2/hello2.go然后你可以这样构建它们:go build functions/...*从技术上讲,您可以通过完全滥用 go 工具链,并指定要编译的特定 go 包来完成您想要的组织,该包优先于目录中的其他文件。这只适用于最小的程序(基本上,一个包含在单个 .go 文件中的程序,或少量可管理的 .go 文件)这将需要多个命令,而且这永远不应该完成,所以我'我什至不打算解释如何做到这一点。简单地说:永远不要这样做!