通过 44 个动手实验建立广泛的 Go 基础;这些实验组成 22 组“引导实验 + 挑战”。你将在配套 WebIDE 中编写和运行程序,先通过示例学习概念,再用一个聚焦任务检验能否独立应用。
课程从语法、module、package 和数据类型开始,继续学习控制流与 Go 的核心集合,后期进入 struct、灵活的函数模式和 channel。因此学习路径虽从 Beginner 起步,却包含多个 Intermediate 挑战和一个 Advanced channel pipeline 挑战。
你将学到什么
完成本课程后,你将能够:
- 编写并运行基础 Go 程序,解释程序结构,并使用常见
fmt函数。 - 用 Go Modules 和 package 组织项目、管理 import,并区分导出与未导出函数。
- 声明变量和常量,使用运算符、数值、布尔、字符串、byte、rune、Unicode 与
iota。 - 使用
if、switch、for、break、continue以及有针对性的goto表达判断和循环。 - 在数组、多维数组、slice 和 map 中创建、遍历、更新、复制、筛选与排序数据。
- 定义和初始化 struct,将相关值组织为清晰的数据模型。
- 编写具有多返回值和可变参数的函数,并把匿名函数用于立即调用和 callback。
- 创建有类型和方向限制的 channel,并在简单数据 pipeline 中连接 producer 与 consumer goroutine。
本课程适合谁
本课程适合希望在每个主题后都进行练习、系统学习 Go 语言的初学者,也适合从其他语言转向 Go、需要亲手掌握 module、集合、函数和 channel 模型的程序员。
前置要求: 无需 Go 经验。你应能输入命令并编辑源文件;如果了解变量、条件、循环和函数等基本编程概念,学习节奏会更轻松。
学习环境: 44 个实验均在配套的 Ubuntu 22.04 WebIDE 中运行,环境已提供 Go 工具。你将主要使用终端和编辑器,每个引导主题之后都有一个短编程挑战。
常见问题
44 个实验如何组织?
它们组成 22 个主题对:引导实验讲解并演示一个 Go 概念,随后对应挑战要求你用该概念实现一个小程序或函数。
所有练习都是 Beginner 难度吗?
不是。引导实验标为 Beginner,但多个应用挑战为 Intermediate,producer-consumer channel pipeline 则为 Advanced。课程前期平缓,后期任务需要更多独立推理。
课程对 Go 并发讲到多深?
课程介绍 channel 的声明、初始化、发送与接收、阻塞行为、单向 channel,以及简单 goroutine pipeline;不覆盖更广泛的生产并发模式、同步原语、取消机制或分布式系统。
会构建 Web 服务或数据库应用吗?
不会。所列课程聚焦 Go 语言和小型命令行程序;HTTP server、framework、database、测试 package 与生产服务架构均不在范围内。





