带git的项目git
go mod init
go mod init packagename
go mod download
go mod tidy
go mod vendor
功能介绍一
使用replace本地包替换:
基于国内万能的防火墙,就可能会用到这个功能github
main.gogolang
main.go package main import "packagepath/pkg" func main() { pkg.Hello() }
go modnpm
module go-mod require packagepath/pkg v0.0.0 replace packagepath/pkg => ./pkg
replace 能够文件夹,也能够是另一个package缓存
module go-mod require packagepath/pkg v0.0.0 replace packagepath/pkg v0.0.0 => github.com/packagepath/pkg v0.0.0
ps:顶层依赖可替换但间接依赖不可替换maven
功能介绍二 semver—Semantic Versioning
semver 是 语义化版本(Semantic Versioning)规范 的一个实现,目前是由 npm 的团队维护,实现了版本和版本范围的解析、计算、比较。ide
main.goui
package main import ( "fmt" v1 "github.com/e421083458/gomodtest_base" v2 "github.com/e421083458/gomodtest_base/v2" ) func main(){ v2.NewIntCollection("hello","sex") v1.NewIntCollection("hello") fmt.Println("hello"); }
go.mod命令行
module module_test require ( github.com/e421083458/gomodtest_base v1.0.1 github.com/e421083458/gomodtest_base/v2 v2.0.0 )