【发布时间】:2013-03-02 14:34:30
【问题描述】:
这是目录树:
+/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?,我想我有和这个人一样的解决方案,但我只是不知道如何解决这个问题。请帮忙。
进入环境:
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的输出? -
import依次尝试从它从您的$GOPATH中提取的每个“工作区”开始查找指定路径。从你的树来看,我会说你的$GOPATH必须包含/some/path/to/project,也就是说,它必须包含那个“项目”目录。这适用于您的情况吗? -
OARCH="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" (这正是我的工作目录) GOROOT="/usr/local/go" GOTOOLDIR="/ usr/local/go/pkg/tool/darwin_amd64" CGO_ENABLED="1"
-
GOPATH 应该是“/Users/staff/projects/Minigame_Server/project”。
-
@ThomasKappler 我认为不需要“项目”,因为它没有显示在官方文档中。
标签: go