go语言进阶-工程进阶

71 阅读2分钟

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

第二天得基础班课程学习得是go语言进阶-工程进阶,课程分为4个模块。主要是从工程实践角度,讲授在企业项目得实际开发中所遇到得难题,重点讲解go语言得进阶之路,以及在其依赖管理过程中如何演进的。

语言进阶

讲述了很多的实用的知识,首先讲解了协程和线程的区别,我觉得很实用,因为之前学过线程,不知道还会有协程,在本节课上学到了。协程是比线程开销的更小的调度单位,使用协程可以大大的提高程序的并发效率,这里发现了课程的一个错误,协程和线程的栈级别标错了。 image.png 还讲了一下锁的实现,用于并发安全,保护临界的区域

依赖管理

介绍了go的依赖管理的模型,具体虽然不是很理解,但是我将依赖管理理解为,就是在开发过程中我们需要别人已经经过测试了的各种各样的包,我们使用就需要用到依赖管理。 IMG_0074.PNG 首先需要创建初始化go.mod文件,然后下载我们需要的各种模块到本地缓存,还可以使用tidy来增加需要的依赖或者删除不需要的依赖。

测试

这一章节主要介绍了如何测试代码,已经对于代码的质量进行评估,也让我认识到了代码测试的重要性。我认为单元测试和基准测试比较重要,课程中也主要介绍了,在单元测试中可以细化到测试每个方法或者函数的正确性,测试得很细致,然后还可以使用mock测试来让测试不依赖于本地,还通过计算覆盖率来判断代码得质量问题。然后是基准测试,主要测试得是服务器的性能。