go学习 | 青训营笔记

87 阅读2分钟

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

本堂课笔记总结

本次课程主要知识点

  1. 语言进阶:从并发编程的视角带大家了解Go高性能的本质
  2. 依赖管理:了解Go语言依赖管理的演进路线
  3. 测试:从单元测试实践出发,提升大家的质量意识
  4. 项目实战:通过项目需求、需求拆解、逻辑设计、代码实现带领大家感受下真实的项目开发

并发VS并行

image.png go语言在并发方面优势明显,可以一次性带动多个协程。

go通过通信共享内存,

image.png

go依赖管理演进

GOPATH——GO VENDER——GO MODULE(当前主要使用版本) GOPATH:包括bin,pkg,src,缺点是无法实现package的多版本控制 GO vender:存放包副本,解决了多个项目需要同一个package依赖的冲突问题,缺点是不同package不兼容 Go module:通过go.mod 文件管理依赖包,用来定义版本规则和管理项目依赖关系 依赖管理三要素:①配置文件,描述依赖②中心仓库管理依赖库③本地工具

测试

  1. 单元测试
  2. Mock测试
  3. 基准测试 测试决定质量,质量决定生命 测试:回归测试,集成测试,单元测试,从左到右测试覆盖率变大,成本变小

image.png 单元测试规则:所有测试文件以_text.go结尾;func TextXxx(*testing.T);初始化逻辑放到TexrMain中 测试评判标准:代码覆盖率

项目实战

步骤:需求设计——代码开发——测试运行 需求设计:调查用户需求,总结设计方向

分层结构:

image.png 项目小结:项目拆解方便分工合作,代码设计,最后测试运行

总结

本次课程对测试的各个环节进行了讲解,了解了什么是单元测试,Mock测试和基准测试,从项目角度对Web框架,分层结构等进行了讲解,了解了一个项目执行的大致流程。