管理库和二进制文件中的共享名称
开发软件时,可能需要同时拥有一个库和一个独立的可执行文件同名。这可能会在 Go 中带来挑战,因为推荐的方法是让可执行文件和库具有不同的名称。
在提供的示例中,开发人员正在尝试为 Tar 操作创建一个库,但也想要一个独立的库Tar 命令行实用程序。将可执行代码放置在库包内名为 main.go 的目录中的初始方法无法按预期工作。
要解决此问题,建议按如下方式组织代码库:
src/ tar/ tar.go # tar library tar/ main.go # tar binary
使用这个结构, go build -o $GOPATH/bin/tar tarbin 会构造一个名为 tar 的库和一个名为 tar 的二进制文件。
如果代码托管在 GitHub 上,首选目录结构变为:
src/ github.com/ you/ tar/ tar.go # tar library tar/ main.go # tar binary
此布局确保在运行 go get install github.com/you/tar/tar 时,安装名为 tar 的二进制文件,并且 go get install github.com/you/tar 安装名为 github.com/you/tar 的库。
根据代码库的主要用途,可以在目录中交换库和二进制文件
通过在包目录中为库和二进制文件使用单独的子目录,开发人员可以有效地管理 Go 中具有共享名称的代码,从而启用库和独立可执行功能。
以上是如何同时构建同名的 Go 库和独立可执行文件?的详细内容。更多信息请关注PHP中文网其他相关文章!