这是我参与「第五届青训营 」笔记创作活动的第2天。今天我学习了赵征的Go语言进阶与依赖管理 Go语言工程实践测试。通过第一节课我了解到Go语言的进阶知识,举例:协程和线程在Golang里的区别。协程占用的内存小,消耗不大。线程占用的内存大,消耗大,不应该经常使用。当需要必需处理时,使用线程才是Go语言正确做法。还学习了channel的内容,了解到make中有无缓冲通道对Go程序的影响。还学习了并发安全的内容,要确保并发安全,我们要设置并发安全Lock,对变量执行的次数做出限制,防止出现错误情况导致系统崩溃。同时学习了如何配置环境,例如GOPATH等。对以后使用依赖管理有很大帮助,同时会对大项目的编写有不可或缺的作用。通过在项目目录下增加vendor文件,解决了多个项目需要同一个package依赖冲突的问题。第二节课学习了项目测试,首先了解了项目测试的重要性。一个项目的质量是程序的重要部分,所以要经过测试才能交付使用。首先我们进行回归测试,然后进行集成测试,最后进行单元测试。单元测试要保证质量,提高效率,确保在各种数据的压力下能够得到正确结果。 通过今天的学习,我掌握了Go语言进阶编程方法,同时了解了让Go语言方便简洁的依赖库。使用Go语言的标准库就能完成很多功能,不需要使用外部库或者自己编写相应功能。希望通过今天的学习,能在大项目的编写中提高效率,同时让大项目进行测试,让项目运行时能够稳定,达到编程岗位的水平。