Go 语言进阶与依赖管理课程笔记 | 青训营

64 阅读2分钟

课程内容主要包含以下20个要点:

  1. 👉 Go语言的并发性能极高,是为并发而生的语言
  2. 🧠 Go语言通过高效的协程(Goroutine)调度模型充分利用多核计算机优势来实现协程的高并发操作
  3. 📶 协程(Goroutine)之间通过Channel通道进行通信来共享内存,避免直接共享内存从而引起并发安全问题
  4. 🤝 sync包下的Mutex互斥锁和WaitGroup可以实现协程间的互斥访问和同步,保证并发安全
  5. 📦 Go语言经历了GOPATH、GOVENDOR到现在的GOMOD三个依赖管理阶段,目的是实现普通环境的依赖隔离和控制依赖版本
  6. 🛠 GOPATH通过工程代码存放在SRC目录,依赖也存放在SRC中,无法实现依赖多版本控制
  7. 📂 GOVENDOR在项目目录下新增VENDOR文件夹存放依赖副本,但无法处理复杂依赖关系中的依赖冲突
  8. ⚙️ GOMOD通过go.mod文件定义依赖版本,通过goproxy实现中心化缓存,通过go get和go mod实现依赖管理
  9. 🏷 go.mod文件包含模块路径、Go语言版本、依赖列表和版本等信息,可以唯一确定一个依赖的版本
  10. 📈 Go模块版本规范包含语义版本和基于commit的伪版本,可以表示兼容和不兼容的版本关系
  11. 🤝 Go模块会选择依赖关系图中最低的兼容版本,实现向下兼容
  12. 🚧 goproxy实现了可靠和稳定的依赖获取,避免直接依赖代码托管平台的问题
  13. 📥 go get可以下载最新提交或指定 commit、tag、分支版本的依赖
  14. ✏️ go mod init初始化项目;go mod tidy清理无用依赖;go mod download拉取所有依赖
  15. 📦 GOPATH和GOMOD都实现了依赖隔离,但GOMOD提供了依赖版本控制的能力
  16. 🛠 GOMOD通过go.mod配置、goproxy缓存、go get/go mod工具实现了完整的依赖管理
  17. 🚀 并发编程可以大幅提升Go语言程序性能,依赖管理很好解决第三方包引入问题
  18. 🧑‍💻 通过并发编程模型和依赖管理实践可以提高Go语言编程效率
  19. 📝 go.mod配置依赖关系、goproxy实现代理缓存、go mod下载管理依赖至关重要
  20. 🎓 学习Go并发编程和依赖管理,在项目中应用这些知识,可以大大提升Go语言开发效率