这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天
本堂课重点内容
1.语言进阶
2.依赖管理
详细知识点介绍
语言进阶
go程
go语言可以充分发挥多核优势,go语言中的协程(go程)是用户态的,轻量级线程,栈MB级别。 线程是内核态的,线程跑多个线程,栈KB级别。(go程可以看作是轻量级的线程,go语言可以轻松开上万个go程)
CSP
go语言有两种实现并发共享内存的方式:一种是通过管道来实现,另一种是通过sync包中的锁Mutex或者aitGroup来实现(WaitGroup类似于C语言(操作系统)中的信号量)。
go语言提倡通过通信共享内存而不是通过共享内存而实现通信(即通过管道来实现并发go程直接的通信来共享内存)。
依赖管理
gopath->Go Vendor->Go Module
Go Module
1.通过go.mod文件管理依赖包版本
2.通过go get/go mod指令工具管理依赖包
依赖管理三要素
1.配置文件,描述依赖(go.mod)
2.中心仓库管理依赖库(Proxy)
3.本地工具(go get/mod)
课后个人总结
go程可以看作是轻量级的线程,go语言可以轻松开上万个go程,go处理高并发有先天优势。
go语言提倡通过管道来实现并发go程直接的通信来共享内存。
依赖管理三要素
1.配置文件,描述依赖(go.mod)
2.中心仓库管理依赖库(Proxy)
3.本地工具(go get/mod)