我有一个具有以下目录结构的项目
utils(pkg)
| auth.go (has a function names test1)
controllers(pkg)
| login.go (has a function names test2)
我正在尝试从 login.go 访问函数 test1。这是我所做的
import "../utils"
func test2(c *gin.Context) bool{
utils.test1()
}
但我总是得到 Unresolved reference test1
。我是新来的。谁能帮助我为什么会收到此错误?
原文由 codec 发布,翻译遵循 CC BY-SA 4.0 许可协议
不,Go 中没有相对导入。
考虑到 GOPATH,你应该使用绝对路径:
GOPATH 环境变量指定工作区的位置。它可能是您在开发 Go 代码时需要设置的唯一环境变量。首先,创建一个工作区目录并相应地设置 GOPATH。请参阅: https ://golang.org/doc/code.html#GOPATH
例子:
此示例假定您已在操作系统环境中设置了
GOPATH=/goworkdir
。文件:
goworkdir/src/project1/utils/auth.go
文件:
goworkdir/src/project1/controllers/login.go
文件:
goworkdir/src/project1/main.go
现在如果你
go run main.go
你应该看到输出: