1.语言进阶—从并发编程的视角了解GO高性能的本质
1.1并发VS并行
1.并发 2.并行
1.2Goroutine
1.3协程通信
通道即为:channel
示例详见:从零开始Golang开发(5)_芙蓉铁蛋的博客-CSDN博客
并发安全
用time sleep暴力方法
用waitgroup实现并发同步
2.依赖管理—了解Go语言依赖管理的演进路线
2.1背景
在开发项目中,要学会站在巨人的肩膀上!
go依赖管理的三个阶段
2.2GOPATH
弊端:
2.3Go Vendor
弊端:
无法控制依赖的版本
更新项目过后可能出现依赖冲突,导致编译错误
2.4 Go Module
依赖管理三要素
依赖配置:
version定义
major:大版本,可以不兼容
minor:在major下版本兼容
patch:修复bug
依赖配置 indirect
依赖配置 incompatible
对于没有go.mod文件并且主版本2+的依赖,会+incompatible
依赖分发
为解决问题:
工具-go get:
go-mod
3.测试—从单元测试出发、提升质量意识
质量就是”生命“!
测试:从上到下,覆盖率逐层增大,成本逐层降低
3.1单元测试
测试规则:
3.2单元测试覆盖率:
提升覆盖率
3.3Tips:
3.4单元测试依赖
mock机制
3.5基准测试
例子:
优化
4.项目实战—通过项目需、需求拆解、逻辑设计、代码实践等感受真实项目开发
单页面服务端功能
4.1需求分析
4.2用例分析
ER图
4.3分层结构
4.4组件工具
4.5Reposity
查询:
查询操作
4.6Service
4.7Controller
4.8Router
相关链接:
Go开发的Go开发—即时通讯项目(包含完整源码和分析):
分析:Go开发—即时通讯项目(包含完整源码和分析)_芙蓉铁蛋的博客-CSDN博客
源码:Ming-XMU/Go-IM-project (github.com)
Go开发的两个练手应用:Go开发的两个小应用_芙蓉铁蛋的博客-CSDN博客
Go语言基础:Ming-XMU/Go-IM-project (github.com)
从零开始Golang开发(1)_芙蓉铁蛋的博客-CSDN博客
从零开始Golang开发(2)_芙蓉铁蛋的博客-CSDN博客
从零开始Golang开发(3)_芙蓉铁蛋的博客-CSDN博客
从零开始Golang开发(4)_芙蓉铁蛋的博客-CSDN博客
从零开始Golang开发(5)_芙蓉铁蛋的博客-CSDN博客