字节笔记本

2026年2月22日

Golang 开发笔记 - 完整学习路线图

本文是《Golang 开发笔记》的完整目录索引,由 guyan0319 维护的开源项目,涵盖了 Go 语言从基础到高级的全面学习路径,包含环境配置、语言基础、Web 开发、数据库操作、并发编程等 90+ 篇技术文章。

项目简介

golang_development_notes 是一个系统性的 Go 语言学习笔记项目,在 GitHub 上获得 607+ Stars。项目内容覆盖 Go 开发的各个层面,从入门环境搭建到高级并发编程,适合不同阶段的开发者参考学习。

项目地址: https://github.com/guyan0319/golang_development_notes

内容结构

1. Go 环境配置

  • Go 安装与目录结构
  • Go 命令详解
  • 开发工具推荐
  • 依赖管理(dep 与 Go Modules)
  • 调试工具 Delve
  • 性能测试工具 PProf
  • 单元测试和性能测试

2. 语言基础

  • Hello World 入门
  • 数组、切片、map、struct
  • 常量和变量
  • 流程控制
  • 反射 reflect
  • 双向链表
  • 指针与内存
  • new 和 make 的区别
  • 定时器与类型系统
  • interface 接口理解
  • time 包用法
  • iota 枚举
  • sync.Map
  • Go 泛型

3. 字符处理

  • 字符类型判断
  • 类型转换
  • JSON 处理
  • 字符串处理
  • 正则表达式
  • 中文与 Unicode 转换

4. 包(Package)

  • 自定义包开发
  • import 机制
  • 模板引擎 (text/template)
  • JWT 实现
  • Kafka 操作 (sarama)
  • Elasticsearch 操作
  • 依赖注入工具 wire
  • 随机数生成
  • PDF/Excel/Word/Markdown 文件处理
  • 图片合成 GIF
  • 数据复制 copier
  • 测试工具 gotests

5. 数据库

  • MySQL (go-sql-driver/mysql)
  • ORM 库 Xorm
  • ORM 库 Gorm
  • MongoDB 操作

6. Web 框架

  • Gin 框架
  • RPC 框架 rpcx
  • 微服务框架 Hertz

7. Web 服务

  • 搭建简单 Web 服务
  • net/http 包详解
  • HTTP 客户端实现
  • Request/Cookie/Session 处理
  • 日志处理
  • 文件处理
  • 中间件 Middleware
  • 重定向 Redirect
  • 文件下载
  • 数据验证 validator

8. 缓存

  • Redis 连接池

9. Go 高级编程

  • 可变参数函数
  • nil 深入理解
  • 指针内存分配
  • 堆栈原理
  • Goroutine 并发
  • GC 垃圾回收机制
  • 单例模式
  • 匿名函数和闭包
  • Channel 实现原理
  • Signal 信号处理
  • 并发控制
  • Context 包分析
  • 类型比较
  • 三个点(...)用法
  • 跨域处理
  • 加密解密算法
  • 切片排序
  • Panic 处理
  • 精度计算
  • 变量删除

10. 工具

  • Socket 通信
  • gRPC 服务端与客户端
  • MySQL 表结构导出工具
  • Excel 操作

11. 开源实例

  • go-admin 后台管理系统
  • vue-element-admin 动态菜单
  • go-sso 单点登录系统
  • gin websocket 一对一聊天
  • go-websocket 分布式 IM
  • go-vue-admin 后台管理系统

12. 其他

  • Go 1.14 新特性
  • map、切片、数组循环常见问题

学习建议

  1. 初学者: 从第 1、2 章开始,掌握基础语法和环境配置
  2. 进阶开发者: 重点阅读第 4、6、7 章,学习包开发和 Web 开发
  3. 高级开发者: 深入第 9 章,理解 Go 的并发模型和底层原理

参考资料

分享: