1.发布依赖与使用
编写依赖
1.13后依赖的 go.mod 内 module 需要以域名开始,例:
module github.com/lifegit/go-gulugo 1.16require (...)
本地调用
依赖开发完毕后,其他项目使用本地依赖 replace 规则介绍
// 项目的 go.modmodule dreamgo 1.16require (github.com/lifegit/go-gulu v0.0.0-incompatible)replace github.com/lifegit/go-gulu => /Users/yxs/GolandProjects/src/go-gulu// main.gopackage mainimport "github.com/lifegit/go-gulu/arrayconv"func main() {arrayconv.IntIn(2, []int{1,2,3})}
发布到 github
发布
$ 开发代码$ git add .$ git commit -m "提交代码"$ git push origin 分支名$ 在 github release 打 tag,例: v1.0.0
引用
// main.gopackage mainimport "github.com/lifegit/go-gulu/arrayconv"func main() {arrayconv.IntIn(2, []int{1,2,3})}// 运行 go mod tidy, 可发现 go.mod 已自动就绪 latest 版本依赖module dreamgo 1.16require (github.com/lifegit/go-gulu v1.0.0)
2.依赖升级v2v3…
当依赖升级到v2v3…时的方法:
- 在v1代码中建立一个v2文件夹实现新版本内容
- [推荐] 使用新的分支,go.mod 中 module 名字最后必须带版本号,例:
github.com/lifegit/go-gulu/v2。 ```go // 本地调用 module dream
go 1.16
require ( github.com/lifegit/go-gulu/v2 v2.0.0-incompatible )
replace github.com/lifegit/go-gulu/v2 => /Users/yxs/GolandProjects/src/go-gulu
// 远程调用 module dream
go 1.16
require ( github.com/lifegit/go-gulu/v2 v2.0.0 )
// main.go package main
import “github.com/lifegit/go-gulu/v2/arrayconv”
func main() { arrayconv.IntIn(2, []int{1,2,3}) } ```
