Go 语言 #
文档结构 #
本指南按以下结构组织,适合初学者按顺序学习:
1. 基础入门 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| Go简介 | Go的发展历史、特点、应用领域 | go-intro.md |
| 安装与运行 | Windows/Mac/Linux安装,环境配置 | go-install.md |
| 第一个Go程序 | Hello World,编译与运行 | hello-world.md |
| 基础语法 | 注释、标识符、关键字、代码规范 | go-syntax.md |
2. 数据类型 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 变量与常量 | 变量定义、短声明、常量、iota | variables.md |
| 基本数据类型 | int、float、string、bool、rune | basic-types.md |
| 类型转换 | 显式转换、类型推断 | type-conversion.md |
| 指针 | 指针概念、声明、使用 | pointers.md |
3. 运算符 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 算术运算符 | 加减乘除、取余、自增自减 | arithmetic-operators.md |
| 关系运算符 | 等于、不等于、大于小于 | relational-operators.md |
| 逻辑运算符 | &&、||、! | logical-operators.md |
| 位运算符 | 按位与或异或、移位 | bitwise-operators.md |
| 赋值运算符 | =、+=、-=等复合赋值 | assignment-operators.md |
| 运算符优先级 | 优先级规则 | operator-precedence.md |
4. 控制流 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 条件语句 | if、if-else、if-else if | if-statement.md |
| switch语句 | switch-case、无穿透、类型switch | switch-statement.md |
| 循环语句 | for循环的三种形式 | loops.md |
| 循环控制 | break、continue、goto | loop-control.md |
5. 函数 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 函数基础 | 函数定义、参数、返回值 | function-basics.md |
| 多返回值 | 多返回值函数、命名返回值 | multiple-returns.md |
| 匿名函数与闭包 | 匿名函数、闭包原理 | anonymous-functions.md |
| defer语句 | defer执行顺序、应用场景 | defer.md |
| 递归函数 | 递归原理、递归实例 | recursion.md |
6. 数组与切片 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 数组 | 数组声明、初始化、遍历 | arrays.md |
| 切片基础 | 切片声明、make函数、len/cap | slice-basics.md |
| 切片操作 | append、copy、切片表达式 | slice-operations.md |
| 切片原理 | 切片底层结构、扩容机制 | slice-internals.md |
7. 映射(Map) #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| Map基础 | Map声明、初始化、基本操作 | map-basics.md |
| Map操作 | 增删改查、判断key存在 | map-operations.md |
| Map遍历 | for-range遍历、遍历顺序 | map-iteration.md |
| Map实战 | Map综合应用实例 | map-practice.md |
8. 字符串 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 字符串基础 | 字符串定义、不可变性、rune | string-basics.md |
| 字符串操作 | strings包常用函数 | string-operations.md |
| 字符串转换 | strconv包、类型转换 | string-conversion.md |
| 正则表达式 | regexp包使用 | regex.md |
9. 结构体 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 结构体基础 | 结构体定义、初始化、访问 | struct-basics.md |
| 结构体方法 | 方法定义、值接收者、指针接收者 | struct-methods.md |
| 结构体嵌套 | 匿名字段、字段提升 | struct-embedding.md |
| 结构体标签 | json标签、反射获取标签 | struct-tags.md |
10. 接口 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 接口基础 | 接口定义、接口类型 | interface-basics.md |
| 接口实现 | 隐式实现、接口满足条件 | interface-implementation.md |
| 接口组合 | 接口嵌入、接口继承 | interface-composition.md |
| 空接口 | interface{}、类型断言、类型switch | empty-interface.md |
11. Goroutine #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| Goroutine基础 | Goroutine创建、启动 | goroutine-basics.md |
| Goroutine调度 | GMP模型、调度原理 | goroutine-scheduling.md |
| sync包 | WaitGroup、Mutex、RWMutex | sync-package.md |
| Context | Context使用、超时控制 | context.md |
12. Channel #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| Channel基础 | Channel创建、发送接收 | channel-basics.md |
| Channel操作 | 缓冲通道、关闭通道 | channel-operations.md |
| Select语句 | 多路复用、超时处理 | select-statement.md |
| Channel模式 | 生产者消费者、worker pool | channel-patterns.md |
13. 错误处理 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 错误基础 | error接口、错误检查 | error-basics.md |
| 自定义错误 | 自定义错误类型 | custom-errors.md |
| 错误包装 | errors.Is、errors.As、Unwrap | error-wrapping.md |
| panic与recover | panic触发、recover恢复 | panic-recover.md |
14. 包管理 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 包基础 | 包定义、包可见性 | package-basics.md |
| Go Modules | go.mod、依赖管理 | go-modules.md |
| 包导入 | 导入路径、别名导入 | package-import.md |
| 常用标准库 | fmt、os、io、net/http | standard-library.md |
15. 文件操作 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 文件读写 | os包、io包读写文件 | file-read-write.md |
| 文件信息 | FileInfo、文件权限 | file-info.md |
| 目录操作 | 创建、遍历、删除目录 | directory-operations.md |
| JSON处理 | encoding/json、序列化反序列化 | json-handling.md |
16. 测试 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 单元测试 | testing包、Test函数 | unit-testing.md |
| 基准测试 | Benchmark函数、性能测试 | benchmark.md |
| 表驱动测试 | 表驱动测试模式 | table-driven-tests.md |
| 测试覆盖率 | cover工具、覆盖率分析 | test-coverage.md |
17. 高级特性 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 泛型 | 类型参数、泛型函数、泛型类型 | generics.md |
| 反射 | reflect包、Type和Value | reflection.md |
| 并发模式 | pipeline、fan-out/fan-in | concurrency-patterns.md |
| 性能优化 | pprof、性能分析 | performance.md |
| 内存模型 | happens-before、内存可见性 | memory-model.md |
最后更新:2026-03-26