没有,Go中没有相对导入。
您应该考虑使用GOPATH来使用Abs路径:
- GOPATH环境变量指定工作空间的位置。在开发Go代码时,很可能需要设置唯一的环境变量。首先,创建一个工作区目录并相应地设置GOPATH。参见:https
- //golang.org/doc/pre.html#GOPATH
导入路径
导入路径是唯一标识软件包的字符串 。包的导入路径与其在工作空间内或在远程存储库中的位置相对应(如下所述)。
标准库中的软件包具有简短的导入路径,例如“ fmt”和“ net /
http”。对于您自己的软件包,您必须选择一个基本路径,该基本路径不太可能与将来向标准库或其他外部库中添加的内容冲突。如果将代码保存在某个源存储库中,则应使用该源存储库的根作为基本路径。
例如,如果您在github.com/user上有一个GitHub帐户,则应该是您的基本路径。请注意,在构建代码之前,无需将代码发布到远程存储库。这是组织代码的好习惯,就像您有一天要发布代码一样。实际上,您可以选择任意路径名,只要它是标准库和更大的Go生态系统所独有的即可。
例:
本示例假定您已
GOPATH=/goworkdir在OS环境中进行设置。
文件:
goworkdir/src/project1/utils/auth.go
package utilsfunc Test1() string { return "Test1"}文件:
goworkdir/src/project1/controllers/login.go
package controllersimport "project1/utils"func Test2() string { return utils.Test1()}文件:
goworkdir/src/project1/main.go
package mainimport ( "fmt" "project1/controllers")func main() { fmt.Println(controllers.Test2())}现在,如果您
go run main.go应该看到输出:
Test1



