Go mod
简介
go modules 是 golang 1.11 新加的特性。现在1.12 已经发布了,是时候用起来了。Modules官方定义为:
模块是相关Go包的集合。modules是源代码交换和版本控制的单元。 go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。
使用
初始化项目
1 | mkdir Gone |
对应go.mod
文件
1 | module Gone |
go.mod文件一旦创建后,它的内容将会被go toolchain全面掌控。
go toolchain会在各类命令执行时,比如go get、go build、go mod等修改和维护go.mod文件。
go.mod 提供了module, require、replace和exclude 四个命令
module 语句指定包的名字(路径)
require 语句指定的依赖项模块
replace 语句可以替换依赖项模块
exclude 语句可以忽略依赖项模块
自动添加依赖
对于main.go
里的import
1 | package main |
执行 go run main.go
运行代码会发现 go mod
会自动查找依赖自动下载,并修改go.mod
(安装 package 的原則是先拉最新的 release tag,若无tag则拉最新的commit)
自己发布module包
结合github很简单实现
需要进一步的研究学习
暂无
遇到的问题
暂无