Go文件夹布局问题

Go文件夹布局问题,go,Go,我在运行Go测试时遇到问题。我跟着火车走 zshrc先生 示例应用程序文件=>/Users/chris/Projects/go/src/github.com/chris/roundrobin 梅因,加油 循环/时间表.go 循环赛/时间表(test.go) 尝试生成(仅当主文件存在时失败) 在我更改为github.com/username/文件夹布局之前,我一直能够进行构建 ➜ roundrobin go build can't load package: package github.co

我在运行Go测试时遇到问题。我跟着火车走

zshrc先生 示例应用程序文件=>/Users/chris/Projects/go/src/github.com/chris/roundrobin 梅因,加油 循环/时间表.go 循环赛/时间表(test.go) 尝试生成(仅当主文件存在时失败) 在我更改为github.com/username/文件夹布局之前,我一直能够进行构建

➜  roundrobin  go build
can't load package: package github.com/chris/roundrobin: found packages main (main.go) and roundrobin (schedule.go) in /Users/chris/Projects/go/src/github.com/chris/roundrobin
尝试运行测试
有什么想法吗?

在根目录中有两个文件(
main.go
schedule.go
)。它们都有不同的包名。一个有
包主
,另一个有
包时间表
。您需要将
计划
移动到
计划
子文件夹中,或将
程序包计划
更改为
程序包主计划
。转到
。请记住,
import
语句是物理文件夹路径。因此,如果要导入
/roundrobin/schedule
。。项目根目录中需要有一个
计划
文件夹。谢谢Simon!这就解决了包装问题。现在看起来很明显。您还需要将
PATH=$PATH:$GOPATH
更改为
PATH=$PATH:$GOPATH/bin
(尽管您没有使用它,但请记住,
$GOPATH
可以包含多个条目,就像
$PATH
)谢谢Jim。现在所有的编译和测试都通过了,但我会在稍后进行调整,看看会发生什么。
./main.go
./roundrobin.go
./roundrobin_test.go
package main

import "github.com/chris/schedule"

func main(teamCount int) {
    http.HandleFunc('/', func(w http.ResponseWriter, r, *http.Request) {
        gameSchedule := schedule.NewSchedule()
    }
}
package roundrobin

// nothing imported here for now
...
package roundrobin

import (
    "testing"

    "github.com/chris/roundrobin/schedule"
)
...
➜  roundrobin  go build
can't load package: package github.com/chris/roundrobin: found packages main (main.go) and roundrobin (schedule.go) in /Users/chris/Projects/go/src/github.com/chris/roundrobin
➜  roundrobin  go test
# github.com/chris/roundrobin
schedule_test.go:6:2: cannot find package "github.com/chris/roundrobin/schedule" in any of:
  /usr/local/go/src/pkg/github.com/chris/roundrobin/schedule (from $GOROOT)
  /Users/chris/Projects/go/src/github.com/chris/roundrobin/schedule (from $GOPATH)
FAIL    github.com/chris/roundrobin [setup failed]