我有一个具有以下结构的项目:
myapp/
-services/
-services/
-exch.go
-services.go
-server.go
将 $GOPATH 设置为 /home/dev/dev/go
这就是 server.go
命名它的包和导入的方式:
//server.go
package main
import (
"net/http"
"github.com/labstack/echo"
"myapp/services"
)
这是 services.go
:
//services.go
package services
import (
"fmt"
"myapp/services/exch"
)
这是 exch.go
:
//exch.go
package exch
import (
"net/http"
"fmt"
"io/ioutil"
"encoding/json
)
现在,server.go
可以正常导入 package services
,但是 services.go
找不到 package exch
。我尝试通过多种方式更改导入路径,但无法使其正常工作。我错过了什么吗?
知道/myapp 位于此处可能会有用:/home/dev/dev/go/src
最佳答案
每个包一个目录,每个目录一个包。如果 exch.go 应该被导入为 services/exch
, 它需要在一个目录中 services/exch
, 不在目录 services/services
中.
关于go - 找不到嵌套包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54096182/