将go文件导入同一文件夹

g0c00l.g33k:

我在将本地go文件导入另一个go文件时遇到困难。

我的项目结构如下图所示

-samplego
--pkg
--src
---github.com
----xxxx
-----a.go
-----b.go
--bin

我正在尝试在b.go中导入a.go。我尝试了以下方法

import "a"
import "github.com/xxxx/a"

这些都不起作用。.我知道我必须介入GOPATH,但我做对了。目前我的GOPATH指向samplego(/ workspace / samplego)。我得到以下错误

cannot find package "a" in any of:
/usr/local/go/src/pkg/a (from $GOROOT)
/workspace/samplego/src/a (from $GOPATH)

另外,将这些源文件导入另一个项目/模块时,GOPATH如何工作?那么当地的进口会成为问题吗?在这种情况下,最佳做法是什么-在模块中只有一个go文件(带有相关测试)吗?

性质:

一个目录中的任何数量的文件都是一个软件包。在一个文件中声明的符号对其他文件可用,而无需任何imports或限定符。所有文件package foo的顶部确实需要相同的声明(否则您会从中得到一个错误go build)。

你需要GOPATH设置到你的目录pkgsrc以及bin目录驻留。这只是一个偏好问题,但是通常为您所有的应用程序(有时是$HOME只有一个工作区,而不是每个应用程序都有一个工作区

通常,Github路径为github.com/username/reponame(而不仅仅是github.com/xxxx)。因此,如果您想拥有main另一个包装,则可能最终会workspace/src

github.com/
  username/
    reponame/
      main.go   // package main, importing "github.com/username/reponame/b"
      b/
        b.go    // package b

请注意,您始终使用完整github.com/...路径导入:工作空间中不允许相对导入。如果您厌倦了键入路径,请使用goimports如果您不满意go run,现在该切换到go buildrun与多个文件main打交道,并且我没有费心测试,但听说(这里来自Dave Cheney go run没有重建肮脏的依赖关系。

听起来您至少已尝试将GOPATH设置为正确的选项,所以如果您仍然遇到问题,则可能要确切说明如何设置环境变量(命令等)以及运行的命令以及发生的错误。这是有关如何在Linux / UNIX下进行设置(并使设置持久化)的说明这是Go团队对工作区设置的建议也许没有帮助,但请看一下,至少可以指出,如果您感到困惑,哪个部分会使您感到困惑。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Eclipse-如何将本地源文件导入同一文件夹?

对导入模块感到困惑。模块不是从同一文件夹中导入的||?

从同一文件夹中的文件导入功能

如何在同一文件夹中导入多个Dart文件

PyCharm在同一文件夹中找不到导入

Python单元测试:由于从同一文件夹导入而失败

Scala导入类在同一文件夹中

如何从同一文件夹中的模块导入功能?

从同一文件夹导入时,PyCharm未解析的引用

根据更改的名称从同一文件夹中的工作簿导入数据

在外部文件夹中被jupyter调用后,从同一文件夹导入

使用nodeJS将文件添加到同一文件夹

Gulp:将SASS编译为同一文件夹中的CSS

htaccess 将文件夹重定向到具有变量的同一文件夹

将创建的 zip 文件夹解压缩到同一文件夹?

从同一文件夹中的另一个文件导入功能

如何从Javascript的同一文件夹中的各种文件中导入一个功能?

如何将文件名基于文件夹名称的文件移动到同一文件夹中的子文件夹

导入时从同一文件夹中获取文件(无需对路径进行硬编码)

将T4生成的文件包括在模板文件的同一文件夹中

文件名来自同一文件夹中的其他文件

从与.jar文件位于同一文件夹中的文件读取

将docx文件转换为Google文档并放置在同一文件夹中

将文件复制到同一文件夹中,并用名称替换年份

将txt文件保存到与C ++中cpp文件位于同一文件夹的文件夹中

HTML无法识别同一文件夹中的JS文件

从ftp下载文件并保存在同一文件夹中

在同一文件夹中命名文件空间

正在读取同一文件夹中的文件-改进了吗?