GO语言进阶与依赖管理| 青训营笔记

43 阅读1分钟

GO语言进阶与依赖管理

并发 VS 并行

image.png

Goroutine

image.png

快速打印

image.png

CSP(Communicating Sequential Processes)

image.png ps:提倡通过通信共享内存而不是通过共享内存而是实现通信

Channel

无缓冲通道和有缓冲通道 image.png

举例

A 子协程发送0~9数字
B 字写成计算输入数字的平方
主协程输出最后的平方数

image.png

输出结果:0 1 4 9 16 25 36 49 64 81

image.png

并发安全Lock

image.png

WaitGroup

image.png

image.png

小结

  • Goroutine
  • Channel
  • Sync

依赖管理

背景

image.png

Go 依赖管理演进

image.png

GOPATH

image.png

GOPATH-弊端

image.png

GO Vendor

image.png

image.png 问题

  • 无法控制依赖的版本
  • 更新项目有可能出现以来冲突,导致编译报错

GO Module

image.png

依赖管理三要素

image.png

依赖配置- go.mod

image.png

依赖管理 - version

image.png

依赖配置 - incompatible

image.png

依赖配置 - 依赖图

选择B image.png

依赖分发 - 回源

image.png

依赖分发 - Proxy

image.png

依赖分发 - 变量 GOPROXY

image.png

工具 - go get

image.png

工具 - go mod

image.png

依赖管理

image.png

小结

  • Go 依赖管理演进
  • Go Module 依赖管理方案

对以后学习go语言有了很大的帮助。