在需要库和命令行界面 (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 相同的目录中的新文件夹中。去。请记得更新 import 语句以引用 $GOPATH 中的新包。
例如:
whatever.io/ myproject/ library/ myproject.go main.go
在 main.go 中,按如下方式导入库包:
import "../library/myproject"
这种方法确保了库和 CLI 之间的明确分离,同时允许两者驻留在同一目录中。
以上是如何在同一目录中组织一个库和 CLI 的 Go 项目?的详细内容。更多信息请关注PHP中文网其他相关文章!