golang1.18+ go mod 导入本地包

golang1.18+ go mod 导入本地包

golang 1.11+ 加入了go mod来替代GOPATH,传统的go项目需要将包导入到$GOPATH/src目录下,比较麻烦。
golang1.18+ go.work文件

环境

golang v1.20 安装好1.18+版本以上。

1. 创建目录

mkdir app

2. 初始化go.mod文件 go mod init

cd app
go mod init wmeng.com/app

3. 初始化go.work文件 go work init

注:golang版本1.18之后才能使用
初始化 go work init ./xxx ./xx
使用 go use ./xxxx

go work init ./

4. 创建引入的本地包tools

mkdir tools
cd tools
go mod init wmeng.com/app/tools

在tools创建hello.go文件

vi hello.go
package tools

import "fmt"

func SayHello() string {

	fmt.Println("hello,hello")
	return "success"
}

5. app目录添加 tools包

cd ..
go work use ./tools

6. app目录创建main.go文件

vi main.go
package main

import (
	"fmt"
	tools "wmeng.com/app/tools"
)

func main() {
	fmt.Println("This is main")
	flag := tools.SayHello()
	fmt.Println(flag)
}

6. run main.go文件

go run main.go 

output
This is main
hello,hello
success

到此,项目导入完成。

tree 
.
├── go.mod
├── go.work
├── main.go
└── tools
    ├── go.mod
    └── hello.go

tree 命令,mac 安装 brew install tree

你可能感兴趣的:(golang,golang,导入本地包,go)