登录
首页 >  Golang >  Go问答

在一个文件夹中“go build”多个程序

来源:stackoverflow

时间:2024-04-07 15:54:37 211浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《在一个文件夹中“go build”多个程序》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

我有 functions/hello.go 文件

运行 go build 会在同一目录中创建新的二进制文件 functions

我希望在 functions 目录中有两个源文件:hello.gohello2.go,并且能够运行 go build,这会生成两个二进制文件:hellohello2

如何实现这一目标?


解决方案


go 包的作用域是每个目录。这意味着在一个目录中只能有一个包,因此最多有一个“主”包。您尝试做的事情根本不可能*

您需要创建子目录:

functions/hello/hello.go
functions/hello2/hello2.go

然后你可以这样构建它们:

go build functions/...

* 从技术上讲,你可以通过完全滥用 go 工具链并指定要编译的特定 go 包来完成你想要的组织,该包优先于目录中的其他文件。这仅适用于最小的程序(基本上,单个 .go 文件中包含的程序,或少量可管理的 .go 文件)这将需要多个命令,而且这应该永远不会完成,所以我什至不打算解释它是如何完成的。简单地说:永远不要这样做!

你可以有 2 个单独的包,都带有 main 函数,然后在两个目录中发出此命令: gobin={compiled-dir} 去安装

理论要掌握,实操不能落!以上关于《在一个文件夹中“go build”多个程序》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>