当前使用 Golang 版本如下:
go version go1.9.4 linux/amd64
假设环境变量 GOPATH="/users/peter/goworkspace"。比如有如下的工程结构:
+/goworkspace
+---/bin
+---/pkg
+---/src
+---/project1
+---package1
+---file1.go
+---file2.go
+---package2
+---main.go
+---/project2
+---/project3
在我的 project1 中的 main.go,使用如下的包导入方式:
import(
"./package1"
"./package2"
)
go build 构建工程时将出现如下编译错误:
local import "../package" in non-local package
使用如下的包导入方式将没有问题:
mport(
"project1/package1"
"project1/package2"
"project1/package3"
)
可见 Golang 不支持使用相对目录的包导入方式。
但是从 Go 1.10 开始,可以畅通无阻地使用相对路径来 import 包,即如下的包导入方式将不会出错。
import(
"./package1"
"./package2"
)
参考文献