在同时需要库和命令行界面 (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,同时允许两者驻留在同一目录中。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3