Go语言入门——工程实践2| 青训营

43 阅读1分钟

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

语义化版本 MAJOR.{MAJOR}.{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.项目实战

通过项目需求、需求拆解、遷辑设计、代码感受真实的项目开发。