我试图在Go中创建和使用自定义包。这可能是非常明显的,但我找不到这方面的很多信息。基本上,我有这两个文件在同一个文件夹:
mylib.go
package mylib type SomeType struct { }
main.go
package main import ( "mylib" ) func main() { }
当我尝试去运行main.go,我得到这个错误:
main.go:4:2: import "mylib": cannot find package
我试图运行去建立mylib.go首先,但它似乎没有做任何事情(没有文件生成,没有错误消息)。所以任何想法如何我可以做到这一点?
首先,请务必阅读并理解
“How to write Go code”文档。
实际的答案取决于你的“定制包”的性质。
如果它的意图是一般使用,考虑采用所谓的“Github code layout”.基本上,你使你的库一个单独的go get-table项目。
如果你的图书馆是供内部使用,你可以这样:
>将包含库文件的目录放在项目的目录下。
>在项目的其余部分中,使用其相对于包含项目的工作空间的根目录的路径引用库。
展示:
src/ myproject/ mylib/ mylib.go ... main.go
现在,在顶层main.go,你可以导入“myproject / mylib”,它会工作确定。