go导入自定义库
ps:go貌似不支持相对路径导入库,没仔细查找资料
创建go项目
创建一个项目目录hello
,在hello目录下编辑 文件
package main
import (
"fmt"
)
func main() {
fmt.Print("hello owrld")
}
自定义包
在hello目录下创建 mylib
目录,在 mylib
目录下创建 文件
package mylib
import "fmt"
func Hello() {
fmt.Print("hell oworld")
}
这里需要注意的是:
- 包目录下所有文件
package
必须和目录名保持一致,例如mylib
目录下所有包文件*.go
必须引用paclage mylib
. - 外部接口必须以大写字母开头,例如
Hello()
,否则外部无法调用
导入自定义包
在main包里面导入自定义包,需通过mod命令初始化讲go项目添加到环境中去
打开终端,进入hello目录
go mod init hello
此刻生成文件便可以*导入自定义包而不会找不到包了
文件导入包格式如下
package main
import (
"hello/mylib"
)
func main() {
mylib.Hello()
}
go mod init hello
的时候将hello目录导入到go环境查找目录中去了,所以导入的库目录需以"hello/“为查找路径,mylib目录在hello目录下,查找路径便是"hello/mylib”;