1 使用 go mod 创建项目并使用
- 通过命令初始化项目
# go mod init 项目名称
go mod init go_mod_testdemo
- 编写业务逻辑
image-20220529114505440.png
// simple_calc.go
package calc
func Add(num1, num2 int) int {
return num1 + num2
}
func Sub(num1, num2 int) int {
return num1 - num2
}
// main.go
package main
import (
"fmt"
"github.com/spf13/cast"
"go_mod_testdemo/calc"
)
func main() {
fmt.Println("Hello World!")
// 1.使用本项目的包
fmt.Println(calc.Add(12, 10))
fmt.Println(calc.Sub(12, 10))
// 2.使用外部依赖的包
fmt.Println(cast.ToString(8))
}
# result
Hello World!
22
2
8
2 引入依赖的方法
- 使用 GoLand 的方式引入第三方依赖
image-20220529114647835.png
- 使用 go get 命令引入第三方依赖
# 1 引入最新的第三方依赖
# -u 强制使⽤⽹络去更新包和它的依赖包
# -v 显示执行的命令
go get -u -v "github.com/spf13/cast"
# 2 指定引入的依赖版本
go get -u -v "github.com/spf13/cast@v1.4.0"
- 下载所有相关依赖,并删除不需要的模块
go mod tidy
3 自己生成模块,并引用
- 在 github 上创新项目
image-20220529120029383.png
- 编写代码
package calc
func Add(num1, num2 int) int {
return num1 + num2
}
func Sub(num1, num2 int) int {
return num1 - num2
}
- go init 初始化项目
go mod init github.com/yaokuku123/calc
image-20220529120218123.png
- 上传至 github
image-20220529120326172.png
- 其他人开发时候可以直接引用我们开发的模块的功能
// main.go
package main
import (
"fmt"
"github.com/spf13/cast"
"github.com/yaokuku123/calc"
)
func main() {
fmt.Println("Hello World!")
// 1.使用本项目的包
fmt.Println(calc.Add(12, 10))
fmt.Println(calc.Sub(12, 10))
// 2.使用外部依赖的包
fmt.Println(cast.ToString(8))
}
// go.mod
module go_mod_testdemo
go 1.16
require (
github.com/spf13/cast v1.5.0
github.com/yaokuku123/calc v0.0.0-20220529040250-978f7056ffb4
)