首页 > 后端开发 > Golang > 如何在 Go 中构建同名的库和独立二进制文件?

如何在 Go 中构建同名的库和独立二进制文件?

Barbara Streisand
发布: 2024-11-27 01:25:09
原创
437 人浏览过

How Can I Build a Library and a Standalone Binary with the Same Name in Go?

具有相同名称的多个库和二进制文件

此问题探讨了创建具有相同名称的库和独立二进制文件的可能性。 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板