我正在尝试在Go中创建和使用自定义包。这可能很明显,但是我找不到很多信息。基本上,我在同一个文件夹中拥有这两个文件:
mylib.go
package mylib
type SomeType struct {
}
main.go
package main
import (
"mylib"
)
func main() {
}
当我尝试时go run main.go
,出现此错误:
main.go:4:2: import "mylib": cannot find package
我尝试先运行,go build mylib.go
但似乎没有做任何事(没有生成文件,没有错误消息)。所以有什么想法我该怎么做?
首先,请务必阅读并理解“如何编写Go代码”文档。
实际答案取决于您“定制包装”的性质。
如果打算用于一般用途,请考虑采用所谓的“ Github代码布局”。基本上,您使您的库成为一个单独的go get
表项目。
如果您的库供内部使用,则可以这样:
展示:
src/
myproject/
mylib/
mylib.go
...
main.go
现在,在顶层main.go
,您可以import "myproject/mylib"
并且可以正常运行。