具有相同名称的多个库和二进制文件
此问题探讨了创建具有相同名称的库和独立二进制文件的可能性。 Tar 命令行工具及其库功能的示例演示了这种情况。
最初,用户尝试了以下目录结构:
src/ tar/ tar.go # belongs to package tar main.go # imports tar and provides a main function
但是,这导致了“命令" 称为 tarbin,而不是所需的 tar 命令。
为了解决此问题,用户采用了使用 go build -o 显式指定输出二进制名称的解决方法$GOPATH/bin/tar tar.
响应者建议的更优雅的解决方案是将代码组织如下:
src/ tar/ tar.go # tar libary tar/ main.go # tar binary
使用此结构,生成的二进制文件将被命名为 tar ,而库名为 tar。
如果代码托管在 GitHub 上,则目录结构将如下如下:
src/ github.com/ you/ tar/ tar.go # tar libary tar/ main.go # tar binary
这个组织确保 go 命令在与 go get install github.com/you/tar/tar 一起使用时可以同时安装二进制文件和库。
优点这种方法的优点是它允许使用 go install ./....
构建和测试项目中的所有代码以上是如何在 Go 中构建同名的库和独立二进制文件?的详细内容。更多信息请关注PHP中文网其他相关文章!