Go语言进阶与测试 | 青训营笔记

64 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天

一、本堂课重点内容:

  1. Go语言进阶
  2. 依赖配置
  3. Go语言测试
  4. 工程实践

二、详细知识点介绍:

语言进阶

Goroutine

  • 协程:用户态,轻量级线程,栈MB级别
  • 线程:内核态,线程跑多个携程,栈KB级别

CSP

  • go提倡通过通信共享内存,而不是通过共享内存来实现通信

Channel

make(chan 元素类型,[缓冲大小])

  • 无缓冲通道 make(chan int)
  • 有缓冲通道 make(chan int,2)

并发安全 Lock

Go语言也有锁来支持通过共享内存来实现通信的操作

WaitGroup

通过wg.Add(),wg.Done(),wg.Wait()来实现同步

Go依赖管理

GoPATH => Go Vendor => Go Module

GoPATH弊端

  1. 无法实现多版本控制

GO Vendor弊端

  1. 无法控制依赖的版本
  2. 更新项目可能导致依赖冲突

Go Modele

  • 通过go.mod文件管理依赖包
  • 通过go get/go mod指令工具管理依赖包

依赖管理三要素

  1. 配置文件,描述依赖 go.mod
  2. 中心仓库管理依赖库 Proxy
  3. 本地工具 go get/mod

测试

  • 回归测试
  • 集成测试
  • 单元测试

三、课后个人总结:

  • 课堂上的实践项目实现起来还是有些困难,要多读读代码,更好的去理解

作者:N1irvana
链接:juejin.cn/post/718892…
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。