Import 正在开发Golang包,无法使用相对路径

Import 正在开发Golang包,无法使用相对路径,import,go,package,Import,Go,Package,我正在尝试开发一个简单的golang包 假设它的名字是“Hello”,目录结构如下所示 hello games game-utils 然后在hello.go(主代码)中,我有以下内容: import ( gameUtils "./game-utils" "./games" ) 好的,在我推到remote repo(例如github.com)并尝试使用go-get安装它之前,这一切都很好。问题在于导入路径,我必须将其更改为 import ( gameUtil

我正在尝试开发一个简单的golang包

假设它的名字是“Hello”,目录结构如下所示

hello
   games
   game-utils
然后在hello.go(主代码)中,我有以下内容:

import (
    gameUtils "./game-utils"
    "./games"
)
好的,在我推到remote repo(例如github.com)并尝试使用
go-get
安装它之前,这一切都很好。问题在于导入路径,我必须将其更改为

import (
    gameUtils "github.com/user/hello/game-utils"
    "github.com/user/hello/games"
)
问题是,每次我开发包时,我都无法使用
“github.com/user/hello/game utils”
导入,因为显然我不会将其推送到远程repo,我需要使用
“/game utils”
导入它

有什么优雅的方法可以解决这个问题吗?

请阅读

您应始终使用以下方式导入它:

import "github.com/user/hello/game-utils"
这是因为go工具是如何工作的。它将在本地计算机上的目录中查找它:
“GOPATH/src/github.com/user/hello/game-utils”
。正如@JimB指出的,编译器总是与本地源一起工作,并且导入路径是相对于
GOPATH/src

go-get
工具是唯一一个在internet上查找源的工具。获取它们之后,它将它们下载到
“GOPATH/src/IMPORT_PATH”
,这样编译器和其他工具现在就可以在它们的本地结构中看到它们


如果您正在创建一个新项目,您应该遵守相同的目录结构。如果您计划将代码上载到github,请手动创建文件夹“GOPATH/src/github.com/your-github-USER/PROYECT-NAME”,然后在其中初始化git repo。(这至少适用于
git
hg
svn
github
bitbucket
google code

@Topo Hi感谢您的快速响应,所以总结一下,我只需要:1<代码>导入gameUtils“github.com/user/hello/game utils”2。使用
go install github.com/user/hello
3安装。cd到repo
$GOPATH/src/github….
4。然后在那里开始开发(测试、提交、等等)?@sendyhalim不客气。你基本上是对的。关于2号的细节。使用go-get(非go-install)获取源代码。如果我要修改我用“go get”下载的代码,我更喜欢自己创建目录结构,用“git clone”获取代码,以我的经验,这有助于避免以后进行一些git repo配置。@Topo ok!哈哈。另外,如果我还没有推出任何代码,那么唯一的方法就是手动创建dir(“$GOPATH/src/user/hello”)并在那里开发,对吗?