redeclared as imported package name previous declaration
,所以这种状况下须要给包起别名避免冲突。在 Go
支持 Go Modules
以后,编译时编译器会从工做目录(当前所在目录)开始并逐级向上查找是否具备 go.mod
文件。code
go.mod
文件中声明的 module
名称就视做 go.mod
所在的路径,而后以指定的 main
包为依赖入口,全部以 go.mod
中声明的 module
名称开头的导入路径都以 go.mod
所在的路径为相对路径进行包的查找导入。全部须要导入的路径中若是在 go.mod
中指定了版本,则从 $GOPATH/pkg/mod/
下取得相应版本进行导入,若是没有被指定则从 $GOPATH/src/
或 $GOROOT/src/
中进行查找导入。$GOPATH/src/
或 $GOROOT/src/
中进行查找导入。go.mod
)。