专栏规划
本专栏记录笔者自己学习 Go 开发的一些笔记,欢迎大家一起交流。
原由
记录学习 Go 语言课程的笔记,采众家之长。
与广大网友一起学习,期望在学习完本专栏后,可以具备实际后端项目开发能力。
更新
语言是不断的发展的,知识也在不断更新与迭代,因此本专栏将保持一周一更的安排。笔者最近在开发过程中遇到了不少基础上的困扰,因此想重新温习一下Go的知识,先对之前更新的内容进行补充与完善。
update in:2021/3/24
内容安排
第一章:Go 语言简介
- 1.1 Go 语言简介
- 1.2 编写第一个 Go 程序
第二章:基本数据结构
- 2.1 变量、常量与其他语言的差异
- 2.2 数据类型
- 2.3 运算符
- 2.4 条件和循环
第三章:常用集合
- 3.1 数组和切片
- 3.2 Map 声明、元素访问及遍历
- 3.3 Map 与工厂模式,在 Go 语言中实现 Set
第四章:字符串
- 4.1 字符串
第五章:函数
- 5.1 Go 语言的函数
- 5.2 可变参数和 defer
第六章:面向对象编程
- 6.1 行为的定义和实现
- 6.2 Go 语言的相关接口
- 6.3 扩展与复用
- 6.4 不一样的接口类型,一样的多态
第七章:编写好的错误处理
- 7.1 编写好的错误处理
- 7.2 panic 和 recover
第八章:包和依赖管理
- 8.1 构建可复用模块
- 8.2 依赖管理
第九章:并发编程
- 9.1 协程机制
- 9.2 共享内存并发机制
- 9.3 CSP并发机制
- 9.4 多路选择和超时
- 9.5 channel 的关闭和广播
- 9.6 任务的取消
- 9.7 Context与任务取消
第十章:典型并发任务
- 10.1 只运行一次
- 10.2 仅需任意任务完成
- 10.3 所有任务完成
- 10.4 对象池
- 10.5 sync.pool 对象缓存
第十一章:测试
- 11.1 单元测试
- 11.2 Benchmark
- 11.3 BDD
第十二章:反射和 Unsafe
- 12.1 反射编程
- 12.2 万能程序
- 12.3 不安全编程
第十三章:常见架构模式的实现
- 13.1 实现 pipe-filter framework
- 13.2 实现 micro-kernel framework
第十四章:常见任务
- 14.1 内置 JSON 解析
- 14.2 easyjson
- 14.3 HTTP 服务
- 14.4 构建 RESTful 服务
第十五章:性能调优
- 15.1 性能分析工具
- 15.2 性能调优示例
- 15.3 别让性能被锁住
- 15.4 GC 友好代码
第十六章:高可用性服务设计
- 16.1 高效字符串连接
- 16.2 面向错误的设计
- 16.3 面向恢复的设计
- 16.4 Chaos Engineering
- 16.5 结课测试&结束语