”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在同一目录中组织一个库和 CLI 的 Go 项目?

如何在同一目录中组织一个库和 CLI 的 Go 项目?

发布于2024-12-23
浏览:781

How Can I Organize a Go Project with Both a Library and a CLI in the Same Directory?

在多包项目中组织代码

在同时需要库和命令行界面 (CLI) 的 Go 项目中,经常会遇到以下问题在同一目录中有多个包。

这样的项目结构:

whatever.io/
    myproject/
        main.go
        myproject.go

包 main 和 func main 对于在 Go 中启动执行至关重要,而库需要单独的包,例如包 myproject。然而,当导入这个项目时,Go编译器可能会反对:

main.go:5:2: found packages myproject (myproject.go) and main (main.go) in $GOPATH/src/whatever.io/myproject

解决方案:嵌套包

要解决此问题,请将这两个包放在与 main.go 相同目录内的新文件夹中。请记住更新导入语句以引用 $GOPATH 中的新包。

例如:

whatever.io/
    myproject/
        library/
            myproject.go
        main.go

在main.go中,导入库包如下:

import "../library/myproject"

这种方式保证了库和 CLI,同时允许两者驻留在同一目录中。

附加说明

  • 将包移动到嵌套结构中不会影响任一包的功能。
  • go run 和 go build 命令可用于测试和构建项目。
  • 有关 go build 文件之间差异的更多详细信息,请参阅提供的链接.去构建。
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3