这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天
Go语言进阶与依赖管理
go可以充分发挥多核优势,高效运行
协程:用户态,轻量级线程,栈MB级别
线程:内核态,线程跑多个协程,栈KB级别
线程的操作属于重的系统操作
调用协程,在函数前加一个“go”
通道遵循“先入先出”
Channel是一种引用类型,使用make创建
声明方式:
make(chan 元素类型,【缓冲大小】)
1.无缓冲通道:make(chan int)
2.有缓冲通道:make(chan int,2)
通道缓冲容量大小代表了通道中能存放多少元素
缓冲满了会阻塞发送,直到元素被取走
channel语句中,使用“<--”将数据存入
实际开发中,并发安全问题有一定概率引起错误结果
使用waitGroup实现一个并发任务的同步
依赖管理三要素: 1.配置文件,描述依赖---go.mod
2.中心仓库管理依赖库---Proxy
3.本地工具---go get/mod
选择最低的兼容版本