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



