这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天
一、本堂课重点内容:
- Go语言进阶
- 依赖配置
- Go语言测试
- 工程实践
二、详细知识点介绍:
语言进阶
Goroutine
- 协程:用户态,轻量级线程,栈MB级别
- 线程:内核态,线程跑多个携程,栈KB级别
CSP
- go提倡通过通信共享内存,而不是通过共享内存来实现通信
Channel
make(chan 元素类型,[缓冲大小])
- 无缓冲通道
make(chan int) - 有缓冲通道
make(chan int,2)
并发安全 Lock
Go语言也有锁来支持通过共享内存来实现通信的操作
WaitGroup
通过wg.Add(),wg.Done(),wg.Wait()来实现同步
Go依赖管理
GoPATH => Go Vendor => Go Module
GoPATH弊端
- 无法实现多版本控制
GO Vendor弊端
- 无法控制依赖的版本
- 更新项目可能导致依赖冲突
Go Modele
- 通过
go.mod文件管理依赖包 - 通过
go get/go mod指令工具管理依赖包
依赖管理三要素
- 配置文件,描述依赖 go.mod
- 中心仓库管理依赖库 Proxy
- 本地工具 go get/mod
测试
- 回归测试
- 集成测试
- 单元测试
三、课后个人总结:
-
课堂上的实践项目实现起来还是有些困难,要多读读代码,更好的去理解
作者:N1irvana
链接:juejin.cn/post/718892…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。