Skip to content

hoh-zone/go-bootcamp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Go 课程仓库:从零基础到 SSE 实时对话后端

本仓库面向对 Go 语言(Golang)感兴趣但没有实战经验的学习者。课程假定学习者具有一些计算机学科基础(如算法/数据结构、操作系统或网络概念)。如果没有这些背景,课程会在适当位置补充入门资源链接。课程共 19 章,目标是在课程结束后能够使用 Go 实现一个基于 SSE(Server-Sent Events)的流式后端服务,并与 deepseek 进行实时对话集成。

📌 关于 AI Coding 工具的重要提示

本课程充分利用 AI 的力量来加速学习与开发:

  • 📚 课程内容:本课程大部分文档与讲义由 AI(如 ChatGPT、Claude 等)生成,经过筛选与补充后呈现。这既提高了内容质量,也体现了 AI 在教育中的实际应用。
  • 💻 代码示例:绝大部分代码示例由我和 AI 共创完成(Codex、Copilot、Cursor、Claude 等)。我们鼓励你在学习过程中也充分利用 AI coding 工具,这已成为现代开发的标准实践。
  • 🚀 学习建议强烈推荐在学习本课程时安装并使用 AI coding 工具:
    • 快速获得代码补全与智能建议
    • 理解代码的同时学习 AI 如何思考
    • 高效完成练习与实战项目
    • 掌握如何与 AI 高效协作——这本身就是未来工程师必备技能

AI coding 已不是可选项,而是提高生产力的必需工具。在学习中使用它,不仅能加速进度,还能更好地理解现代开发工作流。

主要结构

  • docs:课程文档,按章节组织(详见下方章节列表)
  • code:课程示例与练习代码

学习目标(整体)

  • 掌握 Go 的基础语法、并发与网络编程
  • 理解并实现 SSE 协议并处理并发订阅/广播
  • 能够编写测试、处理错误与上下文取消
  • 学会将服务打包与部署(包含基础 Docker 思路)

受众与前置条件

  • 面向零 Go 基础,但建议具备基础编程/计算机概念
  • 无相关背景者:课程中会提供补充阅读链接(算法、HTTP、并发基础等)

🎯 课程分阶段学习路径

第一阶段:语言基础(第 1-12 章)

涵盖 Go 的基本语法、并发与工具链。如果你已有编程基础,可以快速略过或选择关键章节重点学习。

第二阶段:工程与实践(第 13-19 章)

通过构建一个完整的 SSE 流式对话后端来学习。强调 Learning by Doing,即边做边学。

💡 推荐学习路径

路径 A:完整深入学习(推荐新手)

  • 按顺序完成第 1-19 章
  • 每章都有对应的代码示例和练习
  • 掌握从基础到进阶的完整知识体系

路径 B:快速上手(推荐有编程经验的学习者)

如果你已有其他语言(如 Python、Java、Rust)的编程基础,可以:

  1. 快速浏览 第 1-12 章(重点关注 Go 特有的特性:指针、接口、goroutine、channel)
  2. 直接进入 第 13 章开始的工程实践
  3. 在构建项目的过程中,按需深入 基础章节

推荐快速浏览基础的顺序:

  • 第 1-2 章:概览与环境(必读)
  • 第 3、6、7、8 章:Go 语法基础(快速浏览)
  • 第 10-12 章:Context + 并发 + 通道(重点理解)
  • 第 13-19 章:工程实战(逐章深入,边做边学)

课程结构(19 章摘要)

  1. 课程概览与目标 — docs/01-overview/README.md
  2. 环境准备与工具链 — docs/02-env-setup/README.md
  3. 基础语法与入口程序 — docs/03-basics/README.md
  4. 数组、切片与映射 — docs/04-collections/README.md
  5. 控制流与代码风格 — docs/05-control-flow/README.md
  6. 函数与错误返回 — docs/06-functions/README.md
  7. 指针与结构体 — docs/07-pointers-structs/README.md
  8. 方法与接口 — docs/08-methods-interfaces/README.md
  9. 错误处理与恢复 — docs/09-error-handling/README.md
  10. Context 与取消 — docs/10-context/README.md
  11. 并发基础 — docs/11-concurrency-basics/README.md
  12. 通道与并发模式 — docs/12-channels-patterns/README.md
  13. HTTP 服务基础 — docs/13-http-server/README.md
  14. 安全与校验(Security & Validation) — docs/14-security-validation/README.md
  15. 对话接口设计 — docs/15-chat-api-design/README.md
  16. 实现 SSE 流式对话后端 — docs/16-sse-chat-backend/README.md
  17. 客户端接入与发布 — docs/17-client-deploy/README.md
  18. 模块与依赖管理 — docs/18-modules-deps/README.md
  19. 测试与基准 — docs/19-testing/README.md

快速开始

如果你是编程新手或零基础学习者:

  1. 阅读第一章与环境章节:
  2. 按顺序学习第 1-12 章(语言基础,含 Context/并发/通道)
  3. 再进入第 13-19 章(工程实践)

如果你已有其他编程语言基础,想快速上手:

  1. ⚡ 快速浏览第 1-12 章(可按上面"路径 B"的建议选择重点章节)
  2. 🎯 直接从第 13 章开始HTTP 服务基础 —— Learning by Doing!
  3. 按需回顾基础章节中的知识点

通用步骤:

  • code 中打开相应练习目录,按章节运行示例(每章 README 会给出运行说明)。
  • 推荐 Go 版本:Go 1.18+。
  • 使用 go test 运行单元测试,go build 打包可执行文件。
  • 推荐使用 GitHub Copilot 或其他 AI coding 工具辅助学习与编码

对没有计算机学科背景的学习者

  • 课程内会链接外部入门资料(算法、网络基础、进程/线程概念等),并在章节中指向补充阅读。
  • 建议先阅读:操作系统/网络/数据结构的入门教程,以便更快理解并发与网络编程概念。

输出与项目目标

  • 最终产出:一个可运行的 Go 后端,支持 POST 发送消息与 SSE 订阅,测试与简单部署说明。与 deepseek 集成,实现实时对话能力(集成示例与说明位于后期章节)。

仓库位置

贡献与反馈

  • 欢迎提交 issue 或 PR,课程会持续更新示例与修正说明。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •