2026-03-13 23:13:57 +08:00
|
|
|
# go-basics
|
|
|
|
|
|
2026-03-13 23:54:07 +08:00
|
|
|
⭐ Go 语言基础内容学习项目
|
|
|
|
|
|
|
|
|
|
## 项目简介
|
|
|
|
|
|
|
|
|
|
这是一个帮助你系统学习Go语言基础的项目,通过"填空练习 + 测试验证"的方式,让你在实践中掌握Go语言的核心概念。
|
|
|
|
|
|
|
|
|
|
## 项目特点
|
|
|
|
|
|
|
|
|
|
- ✅ 8个学习阶段,循序渐进
|
|
|
|
|
- ✅ 32个知识点,每个含1-2个简单练习
|
|
|
|
|
- ✅ 测试驱动验证,运行测试检查答案
|
|
|
|
|
- ✅ 详细注释指导,适合有其他语言经验的学习者
|
|
|
|
|
|
|
|
|
|
## 学习路径
|
|
|
|
|
|
|
|
|
|
### Stage 01 - 基础语法
|
|
|
|
|
- 变量声明与作用域
|
|
|
|
|
- 常量与iota
|
|
|
|
|
- 数据类型转换
|
|
|
|
|
- 运算符
|
|
|
|
|
|
|
|
|
|
### Stage 02 - 控制结构
|
|
|
|
|
- 条件判断
|
|
|
|
|
- switch语句
|
|
|
|
|
- for循环
|
|
|
|
|
- defer机制
|
|
|
|
|
|
|
|
|
|
### Stage 03 - 函数
|
|
|
|
|
- 基础函数
|
|
|
|
|
- 多返回值
|
|
|
|
|
- 闭包
|
|
|
|
|
- 高阶函数
|
|
|
|
|
|
|
|
|
|
### Stage 04 - 复合数据类型
|
|
|
|
|
- 数组
|
|
|
|
|
- 切片操作
|
|
|
|
|
- map使用
|
|
|
|
|
- 结构体
|
|
|
|
|
|
|
|
|
|
### Stage 05 - 指针与内存
|
|
|
|
|
- 指针基础
|
|
|
|
|
- new vs make
|
|
|
|
|
- 值传递vs指针传递
|
|
|
|
|
|
|
|
|
|
### Stage 06 - 面向对象
|
|
|
|
|
- 接口定义与实现
|
|
|
|
|
- 方法定义
|
|
|
|
|
- 组合与类型断言
|
|
|
|
|
|
|
|
|
|
### Stage 07 - 错误处理
|
|
|
|
|
- error接口
|
|
|
|
|
- 自定义错误
|
|
|
|
|
- 异常处理
|
|
|
|
|
|
|
|
|
|
### Stage 08 - 并发编程
|
|
|
|
|
- goroutine创建
|
|
|
|
|
- channel通信
|
|
|
|
|
- sync包使用
|
|
|
|
|
- select多路复用
|
|
|
|
|
|
|
|
|
|
## 如何使用
|
|
|
|
|
|
|
|
|
|
1. 进入某个练习目录
|
|
|
|
|
```bash
|
|
|
|
|
cd stage01-basics/01-variables
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
2. 查看该知识点的README了解学习目标
|
|
|
|
|
```bash
|
|
|
|
|
cat README.md
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
3. 打开main.go,根据注释提示完成代码
|
|
|
|
|
|
|
|
|
|
4. 运行测试验证答案
|
|
|
|
|
```bash
|
|
|
|
|
go test -v
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
5. 如果测试通过,进入下一个练习
|
|
|
|
|
|
|
|
|
|
## 提示
|
|
|
|
|
|
|
|
|
|
- 每个练习都有详细的中文注释,阅读注释会给你关键提示
|
|
|
|
|
- 测试失败时会显示期望值和实际值,帮助你定位问题
|
|
|
|
|
- 每个练习都设计为简单级别,适合快速入门
|
|
|
|
|
- 建议按顺序学习,建立完整的知识体系
|
|
|
|
|
|
|
|
|
|
## 运行环境要求
|
|
|
|
|
|
|
|
|
|
- Go 1.16或更高版本
|
|
|
|
|
|
|
|
|
|
## 许可证
|
|
|
|
|
|
|
|
|
|
MIT License
|