Go语言工程实践基础|青训营笔记

104 阅读1分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第2篇

1.并发与并行概念

并发是:多线程程序在一个核的cpu上运行 并行是:多线程程序在多个核的cpu上运行

2.协程和线程

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

3.CSP提倡通过通信共享内存而不是通过共享内存而实现通信

4.Channel:分为两种

无缓冲通道 书写格式是:make(chan int) 有缓冲通道 书写格式是:make(chan int,缓冲大小) 能够实现生产者和消费者的关系

如果有两种依赖的话,选择最低的兼容版本即可

5.三种测试

分别是:单元测试,集成测试,回归测试 做好充足的测试,是为了避免事故的发生,减少后续的损失 单元测试:一种是基于依赖,依赖的对象是File,DB或者Cache 另一种是:Mock 单元测试-Mock,不再依赖于本地文件,这样就可以避免,别人修改了 本地文件之后,导致测试的人为错误,让测试结果错误 比如,一个函数方法的作用是将一个字符串的"00"修改为"11",如果是依赖于本地文件的话,里面原本有Test001的,但被修改了,就无法达到预期的结果:Test111; 但是Mock测试不依赖与本地文件,可以让其使函数输入:Test001,看结果是否与预期的Test111一致,就能完成测试,大大增加了容错率 今天就到这了,谢谢观看!