Go语言入门——工程实践 1.语言进阶 1.1 Goroutine 1.2 CSP (Communicating Sequential Processes) 1.3 Channel 1.5 WaitGroup 2.背景 2.1 Go 依赖管理演进 2.1.1 GOPATH 2.1.1 GOPATH-弊端 2.1.2 Go Vendor 2.1.2 Go Vendor-弊端
2.1.3 Go Module
2.2依赖管理三要素
2.3.1依赖配置- go.mod
2.3.2依赖配置-version
语义化版本 {MINOR}.${PATCH} V1.3.0 V2.3.0 基于commit伪版本 vx.0.0-yyyymmddhhmmss- abcdefgh1234 v0.0.0- 20220401081311-c38fb59326b7 v1.0.0- 20201130134442 -10cb98267c6c
2.3.3依赖配置- indirect
A->B->C ●A->B直接依赖
●A->C间接依赖
2.3.4依赖配置- incompatible
●主版本2+模块会 在模块路径增加/vN后缀。
2.3.5依赖分发-回源
无法保证构建稳定性
增加/修改/删除软件版本
无法保证依赖可用性
删除软件
增加第三方压力
代码托管平台负载问题
2.3.5依赖分发- Proxy
2.3.6依赖分发-变量GOPROXY
GOPROXY="https:/ /proxy1.cn, https:/ /proxy2.cn ,direct"
服务站点URL列表,“ direct"表示源站
2.3.7工具- go get
2.3.8工具-go mod
init 初始化,创建go.mod文件
download 下载模块到本地缓存
tidy 增加需要的依赖,删除不需要的依赖
依赖管理三要素
配置文件,描述依赖go.mod
中心仓库管理依赖库Proxy
本地工具go get/mod
3.测试
从单元测试实践出发,提升大家的质量意识。
4.项目实战
通过项目需求、需求拆解、遷辑设计、代码感受真实的项目开发。