GO语言进阶与依赖管理
并发 VS 并行
Goroutine
快速打印
CSP(Communicating Sequential Processes)
ps:提倡通过通信共享内存而不是通过共享内存而是实现通信
Channel
无缓冲通道和有缓冲通道
举例
A 子协程发送0~9数字
B 字写成计算输入数字的平方
主协程输出最后的平方数
输出结果:0 1 4 9 16 25 36 49 64 81
并发安全Lock
WaitGroup
小结
- Goroutine
- Channel
- Sync
依赖管理
背景
Go 依赖管理演进
GOPATH
GOPATH-弊端
GO Vendor
问题
- 无法控制依赖的版本
- 更新项目有可能出现以来冲突,导致编译报错
GO Module
依赖管理三要素
依赖配置- go.mod
依赖管理 - version
依赖配置 - incompatible
依赖配置 - 依赖图
选择B
依赖分发 - 回源
依赖分发 - Proxy
依赖分发 - 变量 GOPROXY
工具 - go get
工具 - go mod
依赖管理
小结
- Go 依赖管理演进
- Go Module 依赖管理方案
对以后学习go语言有了很大的帮助。