依赖管理
- 依赖的概念——别人写的库
- 以来管理的三个阶段 GPATH、GOVENDOR、go mod(目前go mod算是做的比较好包管理,原生的以来管理工具)
GOPATH和GOVENDOR
- GOPATH——默认在~/go(linux、unix),%USERPROFILE%/go(windows)
- GOPATH——历史:Google将20亿代码,9百万个文件放在一个repo里
- GOVENDOR——每个项目有自己的vendor目录,存放第三方库
- 大量第三方依赖管理工具:glide、dep、go dep。。。
go mod 的使用
package main
import (
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
func main() {
logger, _ := zap.NewProduction()
logger.Warn("warning test")
gin.Mode()
}
- 由go命令统一的管理,用户不必关心目录结构
- 更新依赖,go get [@v…],go mod tidy
- 将旧项目迁移到go mod:go mod init,go build
目录的整理