Search the library

Type to search · ↑↓ select · ⏎ open · Esc close

Skip to content
Dandan

DANDAN LEARN / Go

从语言核心到后端工程

以 Go 语言为主线:从数据结构底层、接口、GPM 调度、内存 GC 一路学到 MySQL、Redis、分布式与系统设计——融合 6 个开源仓库、去重互补,按主题重新排版为 21 个周次 + 番外篇。

46 chapters · 857 articles

Learning goals

Put principles into practice.

  • 理解语言核心、并发与运行时相关概念
  • 连接存储、中间件与后端设计
  • 结合专题与问答梳理工程中的取舍

Who this is for

  • 学习 Go 语言或准备后端工程实践的读者

Prerequisites

  • 熟悉基本编程概念;中间件章节可在语言基础后阅读

Contents

46 chapters · 857 articles

Jump to a chapter 46 chapters

序言

1 articles
  1. 自序 · GoPublic foreword

w1 语言基础速览

5 articles
  1. Go 环境安装与第一个程序Member article
  2. Go 常见语法面试题Member article
  3. Go 基础语法问答Member article
  4. Go 基础部分问答Member article
  5. Go 与其他语言对比Member article

w2 数据结构底层

11 articles
  1. slice:实践与底层实现Member article
  2. slice 高频题Member article
  3. map:使用注意与底层数据结构Member article
  4. map 相关问答Member article
  5. map 高频题Member article
  6. string 与 byte:转换会发生内存拷贝吗Member article
  7. 结构体是否可以比较Member article
  8. 内存逃逸Member article
  9. 常见数据结构的底层原理Member article
  10. defer 底层原理与估值时机Member article
  11. 字符串拼接性能与零拷贝转换Member article

w3 接口与组合

2 articles
  1. Interface 内部实现Member article
  2. 接口高频题Member article

w4 并发模型入门

6 articles
  1. 进程、线程与协程Member article
  2. 线程的实现模型Member article
  3. CSP 并发模型Member article
  4. gofunc:一次调用发生了什么Member article
  5. Go 协程的栈内存管理Member article
  6. 并发高频题Member article

w5 GPM 调度器

6 articles
  1. GPM 调度模型Member article
  2. Goroutine 调度器详解Member article
  3. Goroutine 调度策略Member article
  4. gopark 与 goready 原理分析Member article
  5. 特权 Goroutine g0Member article
  6. 协程调度 GMP 模型问答Member article

w6 锁与同步原语

8 articles
  1. 互斥锁实现原理剖析Member article
  2. 读写锁的实现及底层原理Member article
  3. 读写分离 sync.MapMember article
  4. sync.Pool 原理与实战Member article
  5. 乐观锁与悲观锁Member article
  6. mutex 怎么用:实践指南Member article
  7. 锁高频题Member article
  8. WaitGroup 源码级实现Member article

w7 channel 与 Context

6 articles
  1. chan 底层原理Member article
  2. goroutine 什么情况下会阻塞Member article
  3. 如何回收 goroutineMember article
  4. Context 的使用场景Member article
  5. channel 高频题Member article
  6. context 高频题Member article

w8 内存管理与 GC

7 articles
  1. GC 垃圾回收算法Member article
  2. GC 是怎样监听你的应用的Member article
  3. Stop the World(STW)Member article
  4. 内存泄露的发现与排查Member article
  5. dlv 分析 golang 进程Member article
  6. GC 垃圾回收与内存管理问答Member article
  7. 内存高频题Member article

w9 runtime 与底层机制

7 articles
  1. go runtime 简析Member article
  2. 网络 IO 模型Member article
  3. epoll 怎么解决 IO 效率问题Member article
  4. 详解通信协议 ProtoBufMember article
  5. 编译高频题Member article
  6. Go 编译器工作流程:从源码到机器码Member article
  7. 关键字实现原理:for-range / select / make·new / goMember article

w10 Web 与网络编程

7 articles
  1. HTTP Client 大量长连接保持Member article
  2. 长连接和短连接Member article
  3. Gin 路由树Member article
  4. Gin 源码阅读Member article
  5. RESTful 与 RPC 的区别Member article
  6. Thrift RPC 实战:从 IDL 到共享 IDL 多项目架构Member article
  7. 框架高频题Member article

w11 工程化与常用包

7 articles
  1. 常用包速览Member article
  2. 常用三方库:viper / validator / cron / fmtMember article
  3. Go 常用组件与技巧精选Member article
  4. 日志库 zap 实战Member article
  5. Go 常见设计模式Member article
  6. 高质量编程与性能调优Member article
  7. go-micro v5 源码导读Member article

w12 MySQL

42 articles
  1. 为什么索引用 B+ 树Member article
  2. 聚簇索引与非聚簇索引Member article
  3. 主键索引与非主键索引Member article
  4. 单列索引与联合索引的存储区别Member article
  5. 联合索引Member article
  6. 最左匹配原则Member article
  7. 索引失效的几种情况Member article
  8. 什么时候建索引,什么时候不建Member article
  9. MySQL 有哪几种索引Member article
  10. 高性能索引策略Member article
  11. 索引数据结构与优化Member article
  12. 索引下推(ICP)Member article
  13. 索引问答Member article
  14. 事务特性(ACID)Member article
  15. 四种事务隔离级别Member article
  16. MVCC 原理Member article
  17. 当前读与快照读Member article
  18. 脏读、不可重复读与幻读Member article
  19. 如何解决幻读Member article
  20. 事务怎么保证最终一致性Member article
  21. 事务什么场景下会失效Member article
  22. 记录锁、间隙锁与临键锁Member article
  23. 表锁和行锁机制Member article
  24. 悲观锁与乐观锁的区别及场景Member article
  25. 事务问答Member article
  26. 锁机制问答Member article
  27. binlog、redo log 与 undo logMember article
  28. 二阶段提交Member article
  29. 主从复制原理Member article
  30. 读写分离读不到数据怎么办Member article
  31. 分库分表与跨表查询Member article
  32. 百万到千万级数据量优化方案Member article
  33. 高并发下怎么做余额扣减Member article
  34. MyISAM 和 InnoDBMember article
  35. 数据库三范式Member article
  36. 查询语句的执行顺序Member article
  37. SQL 性能分析与优化Member article
  38. MySQL 基础知识问答Member article
  39. SQL 语句基础问答Member article
  40. 数据库优化问答Member article
  41. MySQL 面试题合集Member article
  42. ORM 高频题Member article

w13 Redis

26 articles
  1. 五大数据类型与底层结构Member article
  2. String 数据结构 SDSMember article
  3. Redis 哈希槽Member article
  4. 数据结构 StreamMember article
  5. 持久化:RDB 与 AOFMember article
  6. 持久化问答Member article
  7. Redis 概述问答Member article
  8. 过期键删除策略问答Member article
  9. Redis 事务问答Member article
  10. 主从复制与哨兵选举Member article
  11. 集群、主从与哨兵问答Member article
  12. 缓存穿透、击穿、雪崩Member article
  13. 缓存为什么要延时双删Member article
  14. 缓存问题问答Member article
  15. 内存淘汰与过期删除Member article
  16. Redlock 分布式锁原理Member article
  17. pipeline 与 Lua 脚本Member article
  18. redis 扩容方式和触发方式Member article
  19. 影响 Redis 性能的几点因素Member article
  20. redis 热点问题怎么解决Member article
  21. redis 如何判断 Key 是否存在Member article
  22. 如何处理网络延迟和网络异常Member article
  23. Redis 布隆过滤器Member article
  24. redis 如何实现延时队列Member article
  25. Redis 分区问答Member article
  26. 分布式问题问答Member article

w14 消息队列与中间件

9 articles
  1. 为什么要使用消息队列Member article
  2. Kafka 架构原理及存储机制Member article
  3. Kafka 高可用与消费机制Member article
  4. Kafka 消费顺序的原理Member article
  5. Kafka 消费调优Member article
  6. Kafka 事务Member article
  7. Kafka 高效率的原因Member article
  8. MongoDB 与 MySQL 的区别Member article
  9. ES 数据倾斜如何解决Member article

w15 计算机网络

26 articles
  1. 一次 HTTP 请求的全过程Member article
  2. 网络分层模型Member article
  3. TCP 三次握手与四次挥手Member article
  4. TCP 报文头部结构Member article
  5. TCP 可靠传输的保证Member article
  6. TCP 滑动窗口与重传机制Member article
  7. TCP 拥塞控制算法Member article
  8. TCP 的 keepaliveMember article
  9. TCP 的 TIME_WAITMember article
  10. TCP 粘包Member article
  11. TCP 与 UDP 的区别Member article
  12. UDP 如何保证尽量可靠Member article
  13. HTTP 1.0 / 1.1 / 2.0 的区别Member article
  14. HTTP 与 HTTPSMember article
  15. HTTP 状态码与方法Member article
  16. HTTP 协议中的 OPTIONSMember article
  17. HTTP/3 与 QUIC 协议Member article
  18. WebSocketMember article
  19. DNS 解析过程Member article
  20. ARP 协议工作原理Member article
  21. ping 协议Member article
  22. Linux 端口范围Member article
  23. SYN flood 与网络攻击防护Member article
  24. 限流策略Member article
  25. RPC 实现原理Member article
  26. 计算机网络高频问答Member article

w16 操作系统

22 articles
  1. 进程间通信方式Member article
  2. 进程与线程的同步方式Member article
  3. 虚拟内存与物理内存Member article
  4. 堆和栈访问效率哪个更高Member article
  5. 死锁:四个必要条件与预防Member article
  6. 内核态与用户态Member article
  7. 操作系统中的中断Member article
  8. 零拷贝技术Member article
  9. 孤儿进程与僵尸进程Member article
  10. Ctrl+C 与 kill 底层发生了什么Member article
  11. Linux 进程调度算法Member article
  12. Linux 常用命令Member article
  13. Linux 文件的权限Member article
  14. 自旋锁与互斥锁Member article
  15. 乐观锁与悲观锁(OS 视角)Member article
  16. LRU 算法及其实现Member article
  17. 红黑树Member article
  18. 如何设计一个哈希表Member article
  19. 指针和引用的区别Member article
  20. MD5 过程Member article
  21. 通过分析系统定位服务器问题Member article
  22. 操作系统高频问答Member article

w17 分布式

9 articles
  1. CAP 与 BASE 理论Member article
  2. 分布式共识算法概览Member article
  3. Raft 算法Member article
  4. Paxos 算法Member article
  5. 分布式锁及优化思路Member article
  6. 分布式事务Member article
  7. 分布式 ID 与雪花算法Member article
  8. API 网关详解Member article
  9. ZooKeeper 入门到实战Member article

w18 微服务与高可用

14 articles
  1. 微服务核心问题Member article
  2. 如何保证系统的可用性Member article
  3. 服务限流详解Member article
  4. 超时与重试详解Member article
  5. 冗余设计与高可用Member article
  6. 高并发系统设计Member article
  7. 性能测试入门Member article
  8. 架构设计方法论Member article
  9. IO 多路复用是什么Member article
  10. LSM-Tree 和 B+ Tree 的本质区别Member article
  11. 怎么理解可观测性Member article
  12. Trace 数据模型与 Span 设计Member article
  13. Metrics 数据模型Member article
  14. OpenTelemetry 实战:全链路接入Member article

w19 系统设计与场景题

15 articles
  1. 系统设计思路总纲Member article
  2. 实现秒杀功能Member article
  3. 超卖问题Member article
  4. 库存行拆分后的多单扣减Member article
  5. 评论系统设计Member article
  6. 关注关系场景怎么设计查询Member article
  7. Redis 缓存与 MySQL 数据一致性Member article
  8. 定时调度系统怎么准时触发Member article
  9. 短链接唯一 ID 设计的挑战Member article
  10. 实时输出最近一小时 TopK IPMember article
  11. 10 亿个数中找最大的 K 个Member article
  12. ES 监听 binlogMember article
  13. QPS 翻 10 倍的预案Member article
  14. 海量数据高频面试题Member article
  15. Go 场景高频题Member article

w20 算法与编码

42 articles
  1. 链表高频题(反转 / 环 / 合并)Member article
  2. 判断链表是否有环Member article
  3. 反转与合并有序链表Member article
  4. 树的遍历Member article
  5. 二叉树锯齿遍历Member article
  6. 图相关的算法题Member article
  7. 翻转字符串Member article
  8. 字符串替换问题Member article
  9. 判断字符串中字符是否全都不同Member article
  10. 判断两个字符串排序后是否一致Member article
  11. 验证回文串Member article
  12. 最长公共前缀Member article
  13. 第一个唯一字符Member article
  14. Sunday 字符串匹配Member article
  15. 连接字符串有几种方法Member article
  16. 数组交集Member article
  17. 最接近的三数之和Member article
  18. 滑动窗口最大值Member article
  19. 机器人坐标问题Member article
  20. 排序算法全解析Member article
  21. TopK:找出数组中最小的 K 个数Member article
  22. 接雨水Member article
  23. 时间和空间复杂度Member article
  24. 常见算法模板Member article
  25. 交替打印数字和字母Member article
  26. goroutine 和 channel 配合使用Member article
  27. 对已关闭的 chan 读写会怎样Member article
  28. 实现阻塞读且并发安全的 mapMember article
  29. 高并发下的锁与 map 读写Member article
  30. sync.Map 的用法Member article
  31. 每秒调用一次 proc 且程序不退出Member article
  32. 为 sync.WaitGroup 支持 WaitTimeoutMember article
  33. 多协程查询切片问题Member article
  34. http 包的内存泄漏Member article
  35. 并发题目测试Member article
  36. 字节跳动算法面试题Member article
  37. 代码编程(Go 实现)Member article
  38. 常见语法题目(一)Member article
  39. 常见语法题目(二)Member article
  40. 语法找错题Member article
  41. Golang 基础语法题目Member article
  42. Golang 基础题Member article

w21 面试冲刺与简历

3 articles
  1. 项目经历怎么讲Member article
  2. 简历怎么写Member article
  3. 面试软技能:提问、离职原因与谈 offerMember article

w22 泛型编程(Go 1.18+)

6 articles
  1. Go 自定义泛型概览Member article
  2. 自定义泛型初览Member article
  3. 类型约束与类型参数Member article
  4. 泛型实例化与类型参数推断Member article
  5. 类型参数类型值上的操作Member article
  6. Go 自定义泛型的现状Member article

w23 测试与 TDD(上):基础

21 articles
  1. 为什么写单元测试与 TDDMember article
  2. Hello, world:第一个测试Member article
  3. 整数与函数声明Member article
  4. 迭代与基准测试Member article
  5. 数组与切片:表驱动测试Member article
  6. 结构体、方法与接口Member article
  7. 指针与错误处理Member article
  8. Map 与依赖查找Member article
  9. 依赖注入Member article
  10. Mock 测试Member article
  11. 并发代码测试Member article
  12. select 同步异步流程Member article
  13. 反射Member article
  14. sync 包:WaitGroup 与 MutexMember article
  15. Context:管理长时任务Member article
  16. 基于属性的测试入门Member article
  17. math 包与 SVG 时钟Member article
  18. 读取文件Member article
  19. HTML 模板与验收测试Member article
  20. 泛型与测试Member article
  21. 用泛型重访集合:ReduceMember article

w24 测试与 TDD(下):构建应用 + cgo 与汇编

33 articles
  1. 构建 HTTP 服务器(TDD)Member article
  2. JSON、路由与嵌入Member article
  3. IO 与排序Member article
  4. 命令行与项目结构Member article
  5. time 包与调度Member article
  6. WebSocketsMember article
  7. 验收测试入门:优雅关停Member article
  8. 扩展验收测试Member article
  9. 不用 Mock 的测试:fakes 与 contractsMember article
  10. 重构清单Member article
  11. TDD 反模式Member article
  12. 自定义错误类型Member article
  13. os/exec 与可测试性Member article
  14. Context 感知的 io.ReaderMember article
  15. HTTP Handler 测试再探Member article
  16. cgo 快速入门Member article
  17. cgo 基础Member article
  18. cgo 类型转换Member article
  19. cgo 函数调用Member article
  20. cgo 内部机制Member article
  21. 实践:qsortMember article
  22. cgo 内存模型Member article
  23. C++ 类包装Member article
  24. 静态库与动态库Member article
  25. 编译与链接参数Member article
  26. 汇编基础:plan9 语法Member article
  27. 计算机体系结构Member article
  28. 常量与全局变量Member article
  29. 汇编函数Member article
  30. 控制流Member article
  31. 函数调用约定Member article
  32. 汇编技巧:Goroutine IDMember article
  33. 汇编调试Member article

w25 项目实战(小项目代码集)

64 articles
  1. 日志解析器 logparser(v1→v6 渐进演化)Member article
  2. 复古 LED 数字时钟Member article
  3. 弹跳球动画与蒙特卡洛并发模拟Member article
  4. 并发爬虫引擎(模块化架构)Member article
  5. gRPC 分布式爬虫(etcd 服务注册与发现)Member article
  6. 博客系统(beego MVC 全流程)Member article
  7. WebSocket 多人聊天室Member article
  8. 问答社区 Web 应用(gin + kafka + trie)Member article
  9. 手写日志库与 ini 配置解析器Member article
  10. Go 环境配置Member article
  11. 安装 GoMember article
  12. GOPATH 与工作区Member article
  13. Go 命令Member article
  14. 编辑器配置Member article
  15. Go 语言基础Member article
  16. 你好,GoMember article
  17. Go 基础Member article
  18. 流程和函数Member article
  19. struct 类型Member article
  20. 面向对象Member article
  21. interfaceMember article
  22. 并发入门Member article
  23. Web 基础Member article
  24. Go 的 http 包详解Member article
  25. 表单与交互Member article
  26. 表单验证Member article
  27. 防跨站脚本攻击Member article
  28. 防多次提交与上传文件Member article
  29. session 和数据存储Member article
  30. session 与 cookieMember article
  31. Go 实现 session 管理Member article
  32. session 劫持与防范Member article
  33. session 存储在 memcached/redisMember article
  34. 文本处理Member article
  35. JSON 处理Member article
  36. 正则表达式Member article
  37. 模板处理Member article
  38. 文件操作Member article
  39. 字符串处理Member article
  40. Socket 编程Member article
  41. WebSocketMember article
  42. RESTMember article
  43. RPCMember article
  44. 安全与加密Member article
  45. 预防 CSRF 攻击Member article
  46. 用 filter 验证表单输入Member article
  47. 加密和解密Member article
  48. SQL 注入与存储密码Member article
  49. 使用 MySQL 数据库Member article
  50. database/sql 接口Member article
  51. MySQL 建库建表Member article
  52. Go 的 CRUDMember article
  53. Go 的 ORMMember article
  54. NoSQL:MongoDB 与 RedisMember article
  55. MongoDB 使用Member article
  56. Redis 使用Member article
  57. Web 框架:beego 与 GinMember article
  58. beego 框架Member article
  59. Gin 框架Member article
  60. 项目实战:博客系统与聊天室Member article
  61. 开发博客项目Member article
  62. 实现聊天室Member article
  63. 开发 APIMember article
  64. 爬虫项目Member article

w26 Go 核心谜题(Go核心36讲配套代码)

35 articles
  1. 命令源码文件Member article
  2. 库源码文件Member article
  3. 程序实体(上)Member article
  4. 程序实体(中)Member article
  5. 程序实体(下)Member article
  6. 数组和切片Member article
  7. 字典的操作和约束Member article
  8. 通道的基本操作Member article
  9. 通道的高级玩法Member article
  10. 使用函数的正确姿势Member article
  11. 结构体及其方法Member article
  12. 接口类型的合理运用Member article
  13. 关于指针的有限操作Member article
  14. go 语句及其执行规则Member article
  15. if/for/switch 语句Member article
  16. 错误处理Member article
  17. panic/recover 与 deferMember article
  18. 测试的基本规则和流程Member article
  19. 更多的测试手法Member article
  20. sync.Mutex 与 sync.RWMutexMember article
  21. 条件变量 sync.CondMember article
  22. 原子操作Member article
  23. sync.WaitGroup 和 sync.OnceMember article
  24. context.Context 类型Member article
  25. 临时对象池 sync.PoolMember article
  26. 并发安全字典 sync.MapMember article
  27. unicode 与字符编码Member article
  28. strings 包Member article
  29. bytes 包Member article
  30. io 包Member article
  31. bufio 包Member article
  32. os 包Member article
  33. 访问网络服务Member article
  34. 基于 HTTP 协议的网络服务Member article
  35. 程序性能分析基础Member article

w27 从零构建 Go 区块链

12 articles
  1. 快速开始Member article
  2. 区块链账户:Secp256k1 密钥对与 Keccak256 地址Member article
  3. 区块链交易:签名、验证与防重放攻击Member article
  4. 区块链区块:创世块与区块存储Member article
  5. 区块链状态:确认态与待定态Member article
  6. Merkle 树与 Merkle 证明Member article
  7. 状态同步算法Member article
  8. 节点发现:P2P 网络的起点Member article
  9. 交易中继:并发消息中继设计Member article
  10. 区块提议者:PoA 共识Member article
  11. 事件流:领域事件多路复用Member article
  12. 区块链节点:整合所有组件Member article

补充专题(v3 整理新增)

126 articles
  1. Go 与其他语言对比问答(Java/C++/Python)Member article
  2. Go 语言进阶学习路径Member article
  3. Go 语言起源Member article
  4. Hello, World 的革命Member article
  5. 数组、字符串和切片(C 程序员视角)Member article
  6. 函数、方法和接口(C 程序员视角)Member article
  7. 内存分配(C 程序员视角)Member article
  8. Goroutine 与调度器(C 程序员视角)Member article
  9. 错误处理与 panic(C 程序员视角)Member article
  10. GPM 调度笔记Member article
  11. 调度器基础Member article
  12. Go 语言 Protobuf 使用指南Member article
  13. Protobuf v3 语法中文指南Member article
  14. Protobuf oneof/WrapValue/FieldMask 使用Member article
  15. RPC 原理与 Go RPCMember article
  16. gRPC 指南Member article
  17. pbgo:基于 Protobuf 的框架Member article
  18. RPC 补充说明与延伸阅读Member article
  19. Web 框架补充说明Member article
  20. 分布式补充说明Member article
  21. Content-Type 详解Member article
  22. MySQL 索引与 B+ 树Member article
  23. MySQL MVCC 笔记Member article
  24. PostgreSQL 与 MySQL 对比Member article
  25. TiDB 入门Member article
  26. 读写分离和分库分表详解Member article
  27. 数据库设计规范Member article
  28. 访问数据库Member article
  29. database/sql 接口Member article
  30. 使用 MySQL 数据库Member article
  31. 使用 SQLite 数据库Member article
  32. 使用 PostgreSQL 数据库Member article
  33. NoSQL 数据库操作Member article
  34. Redis 基础Member article
  35. Redis 数据结构Member article
  36. Redis RDB 持久化Member article
  37. AOF 与 RDB 面试题Member article
  38. Redis 6 Threaded I/OMember article
  39. Redis 主从复制Member article
  40. Redis 淘汰策略Member article
  41. 阿里官方 Redis 开发规范Member article
  42. RabbitMQ 详解Member article
  43. Kafka 知识体系Member article
  44. 程序员如何打好计算机领域基础Member article
  45. 一次搞定计算机网络Member article
  46. CDN 内容分发网络详解Member article
  47. Docker 基本概念解读Member article
  48. Docker 从入门到上手Member article
  49. Docker 学习笔记Member article
  50. 常见 Linux 面试问题Member article
  51. Redis 分布式锁与双重校验Member article
  52. 高并发系统设计Member article
  53. 秒杀场景库存扣减Member article
  54. 敏感词过滤方案总结(DFA/AC 自动机)Member article
  55. 图片/文字/动图敏感内容过滤Member article
  56. 信号量并发迁移千万级数据Member article
  57. 1 亿条 MySQL 数据迁移实践Member article
  58. 分类标签树设计Member article
  59. Web 框架与 ORM 高频问答Member article
  60. Go 风格指南Member article
  61. Go 开发规约Member article
  62. 项目开发规范Member article
  63. Code Review 规则Member article
  64. Git 分支管理与需求开发流程Member article
  65. Git 详解Member article
  66. Git 入门Member article
  67. GitHub 小技巧Member article
  68. RBAC 用户权限管理系统设计Member article
  69. OAuth2.0 授权原理与 Go 实现Member article
  70. 登录方案调研Member article
  71. 第三方登录方案Member article
  72. 对象存储 OSS 接入Member article
  73. 钉钉工作消息通知Member article
  74. Go 语法陷阱附录Member article
  75. Go 技术 gems 附录Member article
  76. 算法基础:复杂度分析Member article
  77. 算法基础:用空间换时间Member article
  78. 怎么高效刷 LeetCodeMember article
  79. LeetCode 算法提炼Member article
  80. Go 面试问答:数据定义Member article
  81. Go 面试问答:数组和切片Member article
  82. Go 面试问答:MapMember article
  83. Go 面试问答:interfaceMember article
  84. Go 面试问答:channelMember article
  85. Go 面试问答:WaitGroupMember article
  86. 后端通用面试题Member article
  87. 使用 GDB 调试Member article
  88. 测试小结Member article
  89. 单元测试进阶:网络、数据库、Mock 与打桩Member article
  90. 为何学习 CGOMember article
  91. Go 汇编补充说明Member article
  92. Hack:用汇编实现Member article
  93. 自定义路由器设计Member article
  94. 实现博客的增删改Member article
  95. 扩展 Web 框架Member article
  96. 静态文件支持Member article
  97. Session 支持Member article
  98. 表单及验证支持Member article
  99. 用户认证Member article
  100. 多语言支持Member article
  101. pprof 支持Member article
  102. 扩展小结Member article
  103. 附录:参考资料Member article
  104. Go 的 http 包详解Member article
  105. 字符串处理Member article
  106. Go 搭建一个 Web 服务器Member article
  107. Go 如何使得 Web 工作Member article
  108. 处理表单的输入Member article
  109. 处理文件上传Member article
  110. 预防 session 劫持Member article
  111. Web 服务概览Member article
  112. 存储密码Member article
  113. 加密和解密数据Member article
  114. 网站错误处理Member article
  115. 备份和恢复Member article
  116. 接口与 Web 服务Member article
  117. 环境配置小结Member article
  118. 语言基础小结Member article
  119. Web 基础小结Member article
  120. 表单小结Member article
  121. Web 服务小结Member article
  122. 安全小结Member article
  123. 部署小结Member article
  124. 文本处理小结Member article
  125. 数据库小结Member article
  126. 国际化小结Member article

w28 性能调优工坊(high-performance-go)

20 articles
  1. 概览:性能优化的度量与分析Member article
  2. benchmark 基准测试Member article
  3. pprof 性能分析Member article
  4. 空结构体Member article
  5. 字符串拼接Member article
  6. 反射Member article
  7. 内存对齐Member article
  8. slice 预分配Member article
  9. range 陷阱Member article
  10. goroutine 退出Member article
  11. sync.CondMember article
  12. sync.OnceMember article
  13. goroutine 超时Member article
  14. 并发控制Member article
  15. sync.PoolMember article
  16. 互斥锁Member article
  17. 逃逸分析Member article
  18. 死代码消除Member article
  19. 减小对象大小Member article
  20. 数组与切片陷阱Member article

w29 Web 框架设计(GoBook)

45 articles
  1. 学习路线Member article
  2. Beego 框架分析Member article
  3. GIN 框架分析Member article
  4. Iris 框架分析Member article
  5. Echo 框架分析Member article
  6. Server 详解与面试要点Member article
  7. 路由树:Beego&GIN&Echo 实现总结Member article
  8. 全静态匹配Member article
  9. TDD 起步Member article
  10. 静态匹配测试Member article
  11. 路由查找Member article
  12. 集成 ServerMember article
  13. 通配符匹配:注册Member article
  14. 查找与测试Member article
  15. 参数路径:注册查找Member article
  16. 校验Member article
  17. 参数值Member article
  18. 总结与面试Member article
  19. Context 简介Member article
  20. Beego Context 设计Member article
  21. Gin Context 设计Member article
  22. Echo/Iris Context 设计Member article
  23. 输入输出总结Member article
  24. Body 输入Member article
  25. 表单输入Member article
  26. 查询/路径参数Member article
  27. 处理输出Member article
  28. 总结与面试Member article
  29. AOP 简介与框架设计Member article
  30. AOP 设计方案 MiddlewareMember article
  31. AccessLogMember article
  32. Trace 与 OpenTelemetryMember article
  33. OpenTelemetry 测试Member article
  34. 总结Member article
  35. Prometheus 详解Member article
  36. Prometheus 实战Member article
  37. 错误页面Member article
  38. panic 恢复Member article
  39. 总结与面试Member article
  40. 附录:责任链模式Member article
  41. 生成器模式Member article
  42. 函数选项模式Member article
  43. 课后复习:ServerMember article
  44. RouteMember article
  45. AOPMember article

w30 Go 设计思考(eddycjy 煎鱼)

22 articles
  1. Go 环境与安装Member article
  2. Go 与 Golang 的区别Member article
  3. Less is MoreMember article
  4. 入门起步Member article
  5. new 函数Member article
  6. 类型后置声明Member article
  7. 运算符Member article
  8. 左大括号Member article
  9. nil 函数Member article
  10. nil 与 nil 不相等Member article
  11. 对象Member article
  12. 并发 map/sliceMember article
  13. 重复 mutexMember article
  14. context 取消Member article
  15. 循环导入Member article
  16. 错误处理Member article
  17. errors.WithMember article
  18. 函数重载与默认参数Member article
  19. 泛型历史Member article
  20. 泛型Member article
  21. 泛型包Member article
  22. 注解Member article

w31 算法模板与套路(algorithm-pattern + labuladong)

20 articles
  1. Go 语言基础Member article
  2. 算法快速入门Member article
  3. 二叉树Member article
  4. 链表Member article
  5. 栈和队列Member article
  6. 二进制操作Member article
  7. 二分搜索Member article
  8. 排序算法Member article
  9. 动态规划Member article
  10. 递归思维Member article
  11. 滑动窗口Member article
  12. 二叉搜索树Member article
  13. 回溯法Member article
  14. 学习算法和刷题的框架思维Member article
  15. 动态规划解题套路框架Member article
  16. 回溯算法解题套路框架Member article
  17. BFS 算法套路框架Member article
  18. 双指针技巧套路框架Member article
  19. 二分搜索算法框架Member article
  20. 滑动窗口算法框架Member article

w32 7 天从零实现系列(geektutu)

4 articles
  1. 7 天实现 Web 框架 GeeMember article
  2. 7 天实现 RPC 框架 GeeRPCMember article
  3. 7 天实现分布式缓存 GeeCacheMember article
  4. 7 天实现 ORM 框架 GeeORMMember article

w33 更多项目实战

3 articles
  1. 16 天实现 AI Agent 框架 GeekAgentMember article
  2. Zinx:轻量级 TCP 服务器框架(源码导读)Member article
  3. Bubble:gin+gorm 待办清单小项目Member article

w35 生产级开源项目导读

3 articles
  1. Tinode:开源 IM 全栈平台(单体 + 存储适配器)Member article
  2. Lux:Go 视频下载器(CLI 工程化 + 爬虫插件化)Member article
  3. OpenIM:微服务架构 IM 服务端(网关 + 多 RPC)Member article

w36 Q1mi 项目套件(工程化成长路径)

1 articles
  1. AI Agent 平台、Gin 项目布局演进与签到系统(7 仓库导读)Member article

w37 实战课程导读(liwenzhou.com)

1 articles
  1. 李文周实战课程:Go Web 进阶、微服务四框架对比与 AI AgentMember article

w38–w40 AI Agent 工程系列(系统教程)

7 articles
  1. Claude Agent SDK Go 版系统教程:从进程模型到子 AgentMember article
  2. Coding Agent 系统教程:Reasonix、OpenCodeReview 与 claw-codeMember article
  3. Agent 与 LLM 生态学习地图:13 个必读开源项目Member article
  4. 从零实现 AI Coding Agent:Go 版 10 阶段系统教程Member article
  5. nanoMuse 系统教程:个人 Agent 的多端架构与 GUI 操作Member article
  6. MuseBot 系统教程:把 LLM 接入九大 IM 平台Member article
  7. HiRoute 系统教程:长时程 Agent 的模型路由引擎Member article

w34 微服务商城实战(Kratos Shop)

8 articles
  1. 项目概览Member article
  2. 架构与微服务关系Member article
  3. 配置管理Member article
  4. 数据库设计Member article
  5. 本地开发指南Member article
  6. 微服务演进方案(库存服务与消息队列)Member article
  7. 可行性评估Member article
  8. 源码导读(Kratos 分层 + wire + gRPC)Member article

Go Web Examples(可运行样例)

11 articles
  1. Hello WorldMember article
  2. JSON 编解码Member article
  3. 路由 net/httpMember article
  4. 路由 gorilla/muxMember article
  5. HTML 模板Member article
  6. 表单处理Member article
  7. Session 管理Member article
  8. 基础中间件Member article
  9. 进阶中间件Member article
  10. 密码哈希Member article
  11. WebSocketsMember article

Effective Go(中英双语)

16 articles
  1. 简介Member article
  2. 格式化Member article
  3. 注释Member article
  4. 命名Member article
  5. 分号Member article
  6. 控制结构Member article
  7. 函数Member article
  8. 数据Member article
  9. 初始化Member article
  10. 方法Member article
  11. 接口与其他类型Member article
  12. 空白标识符Member article
  13. 嵌入Member article
  14. 并发Member article
  15. 错误Member article
  16. Web 服务器Member article

极客面试(geektutu)

5 articles
  1. Go 面试题(一)Member article
  2. (二)Member article
  3. (三)Member article
  4. (四)Member article
  5. (五)Member article

《Go 语言设计与实现》示例代码

1 articles
  1. 示例代码集(配合官网阅读)Member article

深度补充(对照已有周次的增量内容)

109 articles
  1. 代码元素与语法细节Member article
  2. 基本类型与值字面量Member article
  3. 常量与变量Member article
  4. 关键字与标识符Member article
  5. 代码块与作用域Member article
  6. 控制流程Member article
  7. 控制流程扩展Member article
  8. 运算符Member article
  9. 表达式与语句Member article
  10. 求值顺序Member article
  11. 断行规则Member article
  12. 函数声明与调用Member article
  13. 函数值与闭包Member article
  14. 非官方 FAQMember article
  15. 字符串细节Member article
  16. 结构体细节Member article
  17. 容器类型Member article
  18. 值部件Member article
  19. 值复制成本Member article
  20. 值转换、赋值与比较Member article
  21. 指针Member article
  22. nil 详解Member article
  23. unsafe 与非类型安全指针Member article
  24. 边界检查消除Member article
  25. 内存布局Member article
  26. 内存块Member article
  27. 接口细节Member article
  28. 方法细节Member article
  29. 类型嵌入Member article
  30. 类型系统概览Member article
  31. 反射Member article
  32. 通道规则详解Member article
  33. 如何优雅地关闭通道Member article
  34. 通道用例大全Member article
  35. 并发同步概览Member article
  36. 并发同步扩展Member article
  37. 原子操作Member article
  38. 并发常见错误Member article
  39. Go 内存模型Member article
  40. 内存泄漏场景Member article
  41. defer 细节Member article
  42. panic 与 recoverMember article
  43. panic 详解(新版)Member article
  44. panic 用例大全Member article
  45. Go 工具链Member article
  46. 包与导入Member article
  47. 官方工具Member article
  48. golds 文档工具Member article
  49. GMP 调度器原理及设计思想Member article
  50. 逃逸分析:变量何时栈何时堆Member article
  51. make 与 new 的区别Member article
  52. 三色标记+混合写屏障 GC 全分析Member article
  53. 调试 bug 与性能问题的实践方法Member article
  54. Defer 必掌握的 7 个知识点Member article
  55. 面向对象思维理解 interfaceMember article
  56. 精通 Go modulesMember article
  57. 依赖管理进阶:internal 包、私有依赖与工作区模式Member article
  58. 进程线程与协程的区别Member article
  59. Go 是否可以无限 goMember article
  60. Worker 工作池设计Member article
  61. 流、IO 操作、阻塞与 epollMember article
  62. 单点 Server 的 N 种并发模型Member article
  63. TCP TIME_WAIT 详解Member article
  64. 分布式从 ACID、CAP、BASE 推进Member article
  65. 创建型模式(7 种实现)Member article
  66. 结构型模式(7 种实现)Member article
  67. 行为型与并发模式(13 种实现)Member article
  68. 设计模式代码集(EasySJMS 配套)Member article
  69. wire 依赖注入与 cron 定时任务Member article
  70. 基础语法样例集(24 例)Member article
  71. 并发样例集(18 例)Member article
  72. 标准库样例集(30 例)Member article
  73. 网络与进程样例集(9 例)Member article
  74. 并发编程代码案例集(Worker Pool/信号量/Context Bug/泄漏检测)Member article
  75. gRPC 实践:TCP + gRPC + Web serverMember article
  76. 八股:GMPMember article
  77. 八股:goroutineMember article
  78. 八股:channelMember article
  79. 八股:mutexMember article
  80. 八股:mapMember article
  81. 八股:sliceMember article
  82. 八股:contextMember article
  83. 八股:逃逸分析Member article
  84. 八股:rangeMember article
  85. 八股:make 与 newMember article
  86. GC 算法对比Member article
  87. G1 收集器Member article
  88. RPC 入门Member article
  89. Protobuf 入门Member article
  90. net/rpc 剖析Member article
  91. gRPC 入门Member article
  92. gRPC 进阶Member article
  93. gRPC 扩展Member article
  94. grpcurlMember article
  95. Web 框架基础Member article
  96. 路由Member article
  97. 中间件Member article
  98. 输入校验Member article
  99. 数据库Member article
  100. 限流Member article
  101. Web 项目布局Member article
  102. 灰度发布Member article
  103. 分布式 IDMember article
  104. 分布式锁Member article
  105. 延时任务Member article
  106. 搜索引擎Member article
  107. 负载均衡Member article
  108. 配置中心Member article
  109. 分布式爬虫Member article

番外篇

3 articles
  1. Go 阅读清单(中文)Member article
  2. Go 学习资源大全Member article
  3. Go 生态库全景精选(awesome-go)Member article

Reading and learning support

Forewords are public. Other chapters require access to the column or the whole library.

Overview reviewed on

Learning notes and complete roadmap