golang1.18+ go mod 导入本地包
golang 1.11+ 加入了go mod来替代GOPATH,传统的go项目需要将包导入到$GOPATH/src目录下,比较麻烦。
golang1.18+ go.work文件
项目目录
app-test
├── go.mod
├── go.work
├── main.go
└── tools
├── go.mod
└── hello.go
1.创建app-test
# 创建目录
mkdir app-test
cd app-test
# 初始化go.mod文件 go mod init
go mod init test.com/app-test
# 初始化go.work文件 go work init
go work init ./
2.创建引入的本地包 tools
mkdir tools
cd tools
go mod init test.com/app-test/tools
3.在tools创建hello.go文件
vim hello.go
package tools
import "fmt"
func SayHello() string {
fmt.Println("hello,hello")
return "success"
}
4.app-test目录添加 tools包
cd ..
go work use ./tools
5.app-test目录创建main.go文件
vim main.go
package main
import (
"fmt"
tools "test.com/app-test/tools"
)
func main() {
fmt.Println("This is main")
flag := tools.SayHello()
fmt.Println(flag)
}