这里是目录树:奇怪golang包导入问题
+/project
+---/bin
+---/pkg
+---/src
+---/client_test
+---client_test.go
+---main.go
在main.go:
package main
import ("client_test")
func main() {
client_test.Send()
}
在client_test.go:
package client_test
func Send() {
}
错误:
src/main.go|8| imported and not used: "client_test"
src/main.go|32| undefined: client_test
我读过How to use custom packages in golang?,我想我已经有了像这个人一样的解决方案,但我不知道如何解决这个问题。请帮忙。
去ENV:
GOARCH="amd64"
GOBIN="/usr/local/go/bin"
GOCHAR="6"
GOEXE=""
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-common"
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/staff/projects/Minigame_Server" (that's exactly my working directory)
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
CGO_ENABLED="1"
什么是您的$ GOPATH,或者更好的输出'go env'? – zzzz 2013-03-14 10:03:08
'import'尝试从它的'$ GOPATH'中提取的每个“工作空间”开始寻找指定的路径。从你的树来看,我会说你的'$ GOPATH'必须包含'/ some/path/to/project',也就是说它必须包含那个“project”目录。这是否适合您的情况? – kostix 2013-03-14 10:16:09
OARCH = “AMD64” GOBIN = “/ USR /本地/去/ BIN” GOCHAR = “6” GOEXE = “” GOGCCFLAGS = “ - 克-O2 -fPIC -m64 -pthread -fno-常见的” GOHOSTARCH = “AMD64” GOHOSTOS = “达尔文” GOOS = “达尔文” GOPATH = “/用户/员工/项目/ Minigame_Server”(这正是我的工作目录) GOROOT = “在/ usr /本地/去” GOTOOLDIR =“/ usr/local/go/pkg/tool/darwin_amd64” CGO_ENABLED =“1” – 2013-03-14 10:37:49