1.发布依赖与使用

编写依赖

1.13后依赖的 go.mod 内 module 需要以域名开始,例:

  1. module github.com/lifegit/go-gulu
  2. go 1.16
  3. require (
  4. ...
  5. )

本地调用

依赖开发完毕后,其他项目使用本地依赖 replace 规则介绍

  1. // 项目的 go.mod
  2. module dream
  3. go 1.16
  4. require (
  5. github.com/lifegit/go-gulu v0.0.0-incompatible
  6. )
  7. replace github.com/lifegit/go-gulu => /Users/yxs/GolandProjects/src/go-gulu
  8. // main.go
  9. package main
  10. import "github.com/lifegit/go-gulu/arrayconv"
  11. func main() {
  12. arrayconv.IntIn(2, []int{1,2,3})
  13. }

发布到 github

发布
  1. $ 开发代码
  2. $ git add .
  3. $ git commit -m "提交代码"
  4. $ git push origin 分支名
  5. $ github release tag,例: v1.0.0

引用
  1. // main.go
  2. package main
  3. import "github.com/lifegit/go-gulu/arrayconv"
  4. func main() {
  5. arrayconv.IntIn(2, []int{1,2,3})
  6. }
  7. // 运行 go mod tidy, 可发现 go.mod 已自动就绪 latest 版本依赖
  8. module dream
  9. go 1.16
  10. require (
  11. github.com/lifegit/go-gulu v1.0.0
  12. )

2.依赖升级v2v3…

当依赖升级到v2v3…时的方法:

  1. 在v1代码中建立一个v2文件夹实现新版本内容
  2. [推荐] 使用新的分支,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}) } ```