我不能使用自定义子目录的功能.
我在"src"下有一个路径层次结构
A/B
与我的所有目录和go-Files(它是我项目的"根").目录不包含子目录,它工作正常.所以最深的路径是"a/b/c".我有
A/B/C
和
的a/b/d
一些go文件.导入"a/b/d"并从"a/b/c"中的文件调用带有"d.DoSomething()"的函数正常工作.
现在我想要重新组织"a/b/d".我将一些文件从"a/b/d"移动到
的a/b/d/E
和其余的文件
的a/b/d/F
如果尝试使用import-statement导入"a/b/d/e"
进口("a/b/d/e")
来自"/ a/b/c"中的同一个文件,想要调用"e.DoSomething()"(这是"DoSomething-function"文件移动到的地方),我收到错误我称之为"e.DoSomething()":"undefined:e".
在搜索结果时,我无法看到具有更深层路径层次结构的示例.通常不可能使用/ import子目录或者问题是什么?
我使用的go-version:go1.2.2 linux/amd64
感谢您的任何建议
你的方法是完全错误的.Go绝对没有导入文件或目录的概念,你可以在Go中导入所有包.现在碰巧包的名称是它相对于GOPATH的路径,并且您按该名称导入包.但是导入代码中导入包可用的标识符取决于包的包声明.您不能简单地在目录之间"移动"文件,因为每个目录(对于go工具)都是单个包而不更改包声明.
你可以package x在路径下a/b/c.当您导入包x时,包x中的import ( "a/b/c" )所有导出的东西都可以使用x.ExportedName.
请仔细阅读http://blog.golang.org/organizing-go-code.