找不到嵌套包

时间:2019-01-08 16:45:04

标签: go gopath go-packages

我有一个结构如下的项目:

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

1 个答案:

答案 0 :(得分:0)

每个软件包一个目录,每个目录一个软件包。如果应该将exch.go导入为services/exch,则它必须位于目录services/exch中,而不是目录services/services中。