gpt4 book ai didi

import - 开发Golang包,不能使用相对路径

转载 作者:IT王子 更新时间:2023-10-29 01:03:05 47 4
gpt4 key购买 nike

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

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

hello
games
game-utils

然后在 hello.go(主要代码)中我有这些:

import (
gameUtils "./game-utils"
"./games"
)

好的,在我推送到远程存储库(例如 github.com)并尝试使用 go get 来安装它之前,它运行良好。问题出在导入路径上,我必须将其更改为

import (
gameUtils "github.com/user/hello/game-utils"
"github.com/user/hello/games"
)

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

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

最佳答案

阅读this .

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

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 存储库。 (这至少适用于 githgsvngithubbitbucketgoogle code)

关于import - 开发Golang包,不能使用相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27572601/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com