这是我参与「第五届青训营」伴学笔记创作活动的第1天,今天学习的内容是GO语言基础。 1.协程:更轻量级的线程(用户态)--创建方法:go func(i int){xxx}(j) 2.通过通信(通道)实现共享内存--实现:make(chan 元素类型,[缓冲大小]) 3.并发安全Lock:用lock实现互斥(sync.Mutex) 4.WaitGroup实现:Add(delta int)(计数器增加delta),Done()(-1),Wait()(阻塞直到计数器为0) 二、依赖 1.GOPATH:项目代码依赖于src下的代码(go get下载包到src下)【缺点:易出现版本冲突】 2.vendor:vendor文件夹放在项目目录下,优先级高于GOPATH【缺点:仍然存在依赖冲突问题】 3.Go mod:①配置文件go.mod ②中心仓库管理依赖库Proxy ③本地工具go get/mod--在依赖配置中定义依赖规则,不冲突时选择最低的兼容版本 4.依赖分发:Proxy:在各个站点和第三方之间建立缓存,实现可靠稳定的依赖分发 5.go mod +init/download/tidy