Golang 导入问题
Golang Importing Issue
我正在尝试使用导入包供内部使用,但遇到了一些问题。
我的目录结构如下所示:
app/
model/
file1.go
file2.go
...
main.go
当我尝试构建程序时,出现如下所示的错误:
/usr/local/go/src/pkg/model (from $GOROOT)
我希望能够在应用程序的任何其他程序中调用模型程序,只需使用:
import "app/model"
在执行此操作时我有哪些选择?
您从 GOPATH
级别导入..您所有的包裹都应该放在那里。
例如,假设您的应用程序在这里:
$GOPATH/src/dtrinh100/app/
..您要导入的包在这里:
$GOPATH/src/github.com/other/package
您的导入将是:
import "github.com/other/package"
您应该查阅有关 GOPATH
环境变量的全部内容的文献。开始使用 Go 时,了解它的用途很重要,最初,您应该将所有 projects/packages 放在 GOPATH
.
中
当您导入自定义包时,Go 会在 GOPATH 环境变量中列出的每个工作区中查找其定义。您的自定义包应该在 src 子目录中定义。
如果您将代码保存在某个源存储库中,那么您应该使用该源存储库的根目录作为您的基本路径。例如,如果您在 github.com/user
有一个 GitHub 帐户,那应该是您的基本路径。
请注意,您无需先将代码发布到远程存储库即可构建它。把你的代码组织起来就像你有一天会发布它一样,这只是一个好习惯。实际上,您可以选择任意路径名,只要它对标准库和更大的 Go 生态系统是唯一的。
您应该使用 github.com/user
作为我们的基本路径。在您的工作区内创建一个目录来保存源代码:
$ mkdir -p $GOPATH/src/github.com/user
您可以查看How to Write Go Code了解更多详情。
我正在尝试使用导入包供内部使用,但遇到了一些问题。
我的目录结构如下所示:
app/
model/
file1.go
file2.go
...
main.go
当我尝试构建程序时,出现如下所示的错误:
/usr/local/go/src/pkg/model (from $GOROOT)
我希望能够在应用程序的任何其他程序中调用模型程序,只需使用:
import "app/model"
在执行此操作时我有哪些选择?
您从 GOPATH
级别导入..您所有的包裹都应该放在那里。
例如,假设您的应用程序在这里:
$GOPATH/src/dtrinh100/app/
..您要导入的包在这里:
$GOPATH/src/github.com/other/package
您的导入将是:
import "github.com/other/package"
您应该查阅有关 GOPATH
环境变量的全部内容的文献。开始使用 Go 时,了解它的用途很重要,最初,您应该将所有 projects/packages 放在 GOPATH
.
当您导入自定义包时,Go 会在 GOPATH 环境变量中列出的每个工作区中查找其定义。您的自定义包应该在 src 子目录中定义。
如果您将代码保存在某个源存储库中,那么您应该使用该源存储库的根目录作为您的基本路径。例如,如果您在 github.com/user
有一个 GitHub 帐户,那应该是您的基本路径。
请注意,您无需先将代码发布到远程存储库即可构建它。把你的代码组织起来就像你有一天会发布它一样,这只是一个好习惯。实际上,您可以选择任意路径名,只要它对标准库和更大的 Go 生态系统是唯一的。
您应该使用 github.com/user
作为我们的基本路径。在您的工作区内创建一个目录来保存源代码:
$ mkdir -p $GOPATH/src/github.com/user
您可以查看How to Write Go Code了解更多详情。