课程目录
01.语言进阶
从并发编程视角带大家了解Go高性能的本质。
02.依赖管理
了解GO语言依赖管理的演进路线。
03.测试
从单元测试实践出发,提升大家的质量意识。
04.项目实战
通过项目需求、项目拆解、逻辑设计、代码实现带领大家感受真正的项目开发。
01.语言进阶
- 引入:并发编程——快
1.0 并发 VS 并行
-
并发:多线程程序在一个核的CPU上运行
-
并行:多线程程序在多个核的CPU上运行
- 解释:并发是指一个处理器同时处理多个任务。 并行是指多个处理器或者是多核的处理器同时处理多个不同的任务。 并发是逻辑上的同时发生(simultaneous),而并行是物理上的同时发生。 来个比喻:并发是一个人同时吃三个馒头,而并行是三个人同时吃三个馒头。
- 总结:GO可以充分发挥多核优势,高效运行
1.1 Goroutine
- 协程:用户态,轻量级线程,栈KB级别
- 线程:内核态,线程跑多个协程,栈MB级别
1.2 CSP(Communicating Sequential Processes)
Go提倡 通过通信 共享内存,而不是 通过共享内存 实现通信。
1.3 Channel
make(chan元素类型,[缓冲大小])
- 无缓冲通道:make(chan int)
- 有缓冲通道:make(chan int,2)