TOC

Golang 速查表

1. 环境配置与基础语法

  • 目标:搭建开发环境,掌握基本语法和编程逻辑。
  • 内容:
    • 安装 Go 版本(推荐 Go 1.21+)及 IDE(如 VS Code + Go 插件、IntelliJ IDEA)。
    • 变量与数据类型(整型、浮点型、布尔型、字符串、数组、切片、字典)。
    • 运算符(算术、关系、逻辑、位运算)。
    • 流程控制(if-elseforswitchgoto)。
    • 函数与方法(函数定义、参数传递、返回值、闭包)。
  • 练习:
    • 编写计算器、斐波那契数列生成器。
    • 实现一个简易的 Todo List 管理工具。

2. 面向对象与结构体

  • 目标:理解 Golang 的 OOP 模型。
  • 内容:
    • 结构体(struct)的定义与初始化。
    • 方法(Method)的绑定(值接收者 vs 指针接收者)。
    • 接口(interface)与类型断言。
    • 组合(Composition)代替继承。
  • 练习:
    • 设计一个动物 kingdom,包含不同动物的行为(如 Dog 吠叫、Bird 飞翔)。
    • 实现一个简单的电商商品库存管理系统。

3. 并发与 Goroutine

  • 目标:掌握 Golang 的并发编程模型。
  • 内容:
    • Goroutine 的启动与停止(go func())。
    • Channel 的使用(阻塞、非阻塞、缓冲区)。
    • select 语句实现多路复用。
    • sync.Mutexatomic 包(锁与原子操作)。
  • 练习:
    • 实现一个多线程的 Web 服务器,处理并发请求。
    • 模拟生产者-消费者问题,使用 Channel 通信。

4. 标准库实战

  • 目标:熟悉 Golang 核心库,快速开发实际应用。
  • 内容:
    • 网络编程:net/http(REST API)、net/url(URL 解析)。
    • 数据处理:encoding/json/xml(序列化/反序列化)、sort/math(常用算法)。
    • 文件 I/O:os/path/filepath(文件操作)、io/ioutil(批量读写)。
    • 模板引擎:html/template(生成动态 HTML)。
  • 项目:
    • 构建一个 RESTful API(用户管理、文章发布)。
    • 开发一个命令行工具(如文件压缩/解压、天气查询)。

5. 微服务与框架

  • 目标:掌握企业级开发模式与流行框架。
  • 内容:
    • 微服务架构(服务拆分、API 网关、配置中心)。
    • 使用框架:Gin(轻量级 HTTP 框架)、EchoBeego
    • 分布式工具:etcd(键值存储)、Consul(服务发现)。
    • 容器化与 Docker(部署 Go 应用)。
  • 项目:
    • 设计一个电商系统,包含用户服务、订单服务、支付服务。
    • 实现一个实时聊天室(WebSocket + Goroutine)。

6. 数据库与 ORM

  • 目标:连接数据库并高效操作。
  • 内容:
    • SQL 数据库驱动(database/sql + PostgreSQL/MySQL)。
    • ORM 工具:GORMsqlx
    • NoSQL 支持(MongoDB + mgo 包)。
  • 项目:
    • 开发一个博客系统(支持 MySQL 存储、标签分类)。
    • 实现一个用户登录注册系统(JWT 认证 + Redis 会话)。

7. 工程化实践

8. 性能与调优

  • 目标:提升代码性能与稳定性。
  • 内容:
    • 性能分析工具:pproftrace
    • 优化技巧:减少内存分配、利用缓存、并发优化。
    • 错误处理与日志(log 包、zap 日志库)。
  • 实战:
    • 分析高并发场景下的性能瓶颈(如百万级请求处理)。
    • 重构代码,优化响应时间与资源占用。
如果你有魔法,你可以看到一个评论框~