Import 使用导入子目录函数的golang

Import 使用导入子目录函数的golang,import,go,subdirectory,Import,Go,Subdirectory,我不能使用自定义子目录的函数 我的代码组织 在“src”下面有一个路径层次结构,如 a/b 所有我的目录和go文件(它是我项目的“根”)。这些目录不包含子目录,工作正常。所以最深的路径是“a/b/c”。我有 a/b/c 及 a/b/d 用一些围棋文件。导入“a/b/d”并从“a/b/c”中的文件调用带有“d.DoSomething()”的函数可以正常工作 问题描述 现在我要重新组织“a/b/d”。我将一些文件从“a/b/d”移动到 a/b/d/e 剩下的文件要 a/b/d/f 如果尝试使用导入语

我不能使用自定义子目录的函数

我的代码组织 在“src”下面有一个路径层次结构,如

a/b

所有我的目录和go文件(它是我项目的“根”)。这些目录不包含子目录,工作正常。所以最深的路径是“a/b/c”。我有

a/b/c

a/b/d

用一些围棋文件。导入“a/b/d”并从“a/b/c”中的文件调用带有“d.DoSomething()”的函数可以正常工作

问题描述 现在我要重新组织“a/b/d”。我将一些文件从“a/b/d”移动到

a/b/d/e

剩下的文件要

a/b/d/f

如果尝试使用导入语句导入“a/b/d/e”

进口(“a/b/d/e”)

从“/a/b/c”中的同一个文件中,我想调用“e.DoSomething()”(它是带有“DoSomething函数”的文件移动到的位置),我在第行得到一个错误,我在该行调用“e.DoSomething()”:“undefined:e”

在搜索结果时,我没有看到具有更深层路径层次结构的示例。通常无法使用/导入子目录,还是有什么问题

我使用的go版本:go1.2.2Linux/amd64



感谢您的建议

在尝试构建
a/b/d/e
之前,首先尝试构建
a/b
:这将生成要导入的编译类。

您的方法完全错误。Go绝对没有导入文件或目录的概念,您可以在Go中导入的只是软件包。现在,一个包的名称是它相对于GOPATH的路径,您可以使用该名称导入包。但是导入代码中导入包可用的标识符取决于该包的包声明。您不能简单地在目录之间“移动”文件,因为每个目录(对于go工具)都是一个包,而不更改包声明

您可以在路径
a/b/c
下使用
package x
。当您使用
import(“a/b/c”)
导入程序包x时,您可以使用
x.ExportedName
从程序包x中导出的所有内容

请仔细阅读