如何在Go中导入本地文件?

3

我希望将我的Go代码组织成更小的部分。假设我正在编写一个遵循MVC模式的Web应用程序。我希望像这样组织我的代码:

main.go
controllers/whatever/whatever.go
models/whateverelse/whateverelse.go

接下来,在main.go中,我想要:

import "controllers/whatever"

Go语言是否支持这样的操作?似乎唯一的选项是将文件放入GOPATH/src文件夹中,但这么做并不是很合理。在这种情况下,我需要设置Git仓库来跟踪$GOPATH/而不是跟踪我的项目$GOPATH/src/github/username/project。


1
可能是如何在golang中使用自定义包?的重复问题。 - gavv
2个回答

3
您的解决方案如果符合标准的“github”目录结构,应该是可行的。但是,我想指出的是,为了导入一个“go”库,您只需要从src目录下的路径开始指定该库的路径即可。
如果您的项目库路径为:
src/yourproject1/controllers

并且你的主要代码的路径为:

src/yourproject2/main.go

在 main.go 中,你只需要这样写:
import "yourproject1/controllers"

1

解决方案来自IRC,感谢jaw22:

import "github.com/yoursuername/yourproject/yourlib"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接