一、Go 基础入门
1.1 基础语法
- 了解 Go 的起源、应用场景和开发环境搭建
- Go 语言的变量、常量和数据类型(
int
、float
、bool
、string
)
- 控制结构(
if
、for
、switch
、goto
)
- 函数定义与使用(参数、返回值、多返回值、可变参数)
1.2 数据结构
- 数组与切片:声明、初始化、使用和内存结构
- Map(映射):声明、初始化、键值操作
- 结构体:定义、使用、嵌套和方法
- 指针:引用、解引用、指针传递
1.3 Go 包与模块
- 使用标准库(
fmt
、math
、time
等)
- 自定义包与导入路径
- 使用
go mod
进行模块管理
- 包的作用域与导出规则
二、Go 语言进阶
2.1 面向对象
- Go 的方法与接口(接口定义、实现和接口嵌套)
- 接口在 Go 中的应用场景和最佳实践
- 类型断言与类型转换
2.2 并发编程
- Goroutine 基础与调度机制
- Channel 的使用和并发模型(同步、通信、关闭 channel)
select
语句和多路复用
- WaitGroup、Mutex 和 Sync 包的使用
2.3 错误处理
- Go 的错误处理模式 (
error
接口与 errors
包)
- 自定义错误与堆栈追踪
defer
、panic
和 recover
的使用及应用场景
2.4 文件操作和网络编程
- 文件读写操作(
os
和 io
包的使用)
- 文件系统相关操作(文件夹创建、删除、权限)
- 网络编程基础(TCP、UDP 连接,HTTP 请求处理)
- JSON、XML、CSV 数据格式处理
三、Go Web 开发
3.1 HTTP Web 服务器
- 基本 HTTP 服务端编写
- 路由与多路复用
- 常用 Web 框架(Gin、Echo、Fiber)的使用
- 中间件(日志、认证、请求处理)
3.2 使用 Gin 框架开发 Web 服务
- Gin 的安装与基本用法
- 路由定义与分组
- 中间件应用(日志、跨域、错误处理)
- 请求参数解析(路径参数、查询参数、表单参数)
- Gin 中的 JSON 数据处理与响应格式
3.3 GORM 数据库操作
- GORM 安装与配置(数据库连接池设置)
- 使用 GORM 进行 CRUD 操作(增、删、查、改)
- 查询构建器(Where、Select、Limit、Order 等)
- 关系映射(关联查询、一对多、多对多关系)
- 数据迁移与模型管理
3.4 RESTful API 开发与项目整合
- 设计 RESTful API 的最佳实践
- 使用 Gin 与 GORM 构建完整的 API 服务
- 常用 API 路径与方法定义(GET、POST、PUT、DELETE)
- 返回数据格式统一化(JSON、错误处理)
- 项目结构规划(控制器、服务、模型层)
四、项目实战
4.1 项目架构与目录结构
4.2 使用 Gin 和 GORM 构建 CRUD API 项目
- 基于 Gin + GORM 的用户管理系统项目
- 用户、权限、角色等模块设计
- 路由分层与控制器实现
- 使用 GORM 管理数据模型和关联关系
- 中间件集成(跨域处理、认证、错误拦截)
4.3 构建与测试
- Go 的测试框架与单元测试(
testing
包)
- 基准测试(Benchmark)和性能优化
- Mock 数据库与服务
- CI/CD 集成(GitHub Actions、GitLab CI)
4.4 Docker 容器化
- Docker 基础命令和镜像构建
- Docker Compose 的配置与使用
- 容器内的日志与调试
五、高级主题
5.1 性能优化
- 内存优化:逃逸分析与栈分配
- 并发性能优化(channel 与锁优化)
- 调优工具(pprof、trace、expvar)
5.2 微服务架构
- 微服务架构的设计与通信
- RPC 框架(gRPC)和 Protobuf 使用
- 服务发现与负载均衡(etcd、consul)
5.3 日志与监控
- 日志收集与管理(logrus、zap)
- 使用 Prometheus、Grafana 监控
- 链路追踪(OpenTelemetry)
5.4 安全
- Go 应用中的常见安全漏洞防护
- OAuth2.0 和 JWT 鉴权实现
- 数据加密与签名
六、DevOps 实践
6.1 自动化测试
- 持续集成与自动化测试
- 自动化测试策略与测试覆盖率
- 使用 Docker 进行端到端测试
6.2 部署与发布
- 使用 Kubernetes 部署 Go 项目
- GitOps 实践(ArgoCD、Flux)
- 版本控制与发布策略
6.3 监控与运维
- 系统日志分析与错误排查
- 基于 Prometheus 和 Grafana 的监控
- 运维自动化与健康检查
七、学习资源
7.1 官方文档
7.2 在线学习平台
7.3 推荐书籍
- 《The Go Programming Language》
- 《Go in Action》
- 《Go Microservices in Action》


怀光
不求遗泽千里,只留一念清泉
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 怀光长纵!