Go语言(Golang)学习路径+资源大全
Go语言(Golang)学习路径+资源大全
一、学习路径(从零基础到就业,分5个阶段,可直接落地执行)
阶段1:基础入门(1~2周,目标:掌握语法,能写简单程序)
- 环境搭建:安装Go、配置环境变量、熟悉GOPATH/Go Module包管理
- 核心语法:变量、常量、函数、流程控制(if/for/switch)、数组、切片、map
- 核心特性:指针、结构体、方法、接口(Go核心,重点掌握)
- 基础工具:错误处理(error)、包与依赖管理、单元测试
- 练手任务:写1个命令行小工具(计算器、文件读写、简单爬虫雏形)
阶段2:核心进阶(2~3周,目标:理解Go并发模型,掌握进阶语法)
- 并发核心:goroutine(协程)、channel(通道)、并发调度原理
- 同步原语:sync.Mutex(互斥锁)、sync.WaitGroup、sync.Once、原子操作
- 进阶特性:上下文context、反射reflect、文件IO、网络编程基础
- 并发模式:生产者-消费者、worker pool等常用并发场景实战
- 练手任务:并发爬虫、简易聊天室(基于TCP/UDP)
阶段3:Web开发与框架(2~3周,目标:能开发后端接口、Web服务)
- 基础铺垫:HTTP标准库、请求/响应处理、Cookie/Session
- 主流框架:Gin(首选,轻量高性能)、Echo(备选)
- 数据交互:ORM框架GORM(操作MySQL/PostgreSQL)、Redis基础与使用
- 工程化工具:JWT认证、Swagger接口文档、日志管理、配置文件解析
- 练手任务:用户管理系统(注册、登录、CRUD接口)、博客后台接口
阶段4:云原生与微服务(1~2个月,目标:打造就业核心竞争力)
- 容器基础:Docker安装、镜像/容器操作、Dockerfile编写
- 微服务框架:Kitex(字节跳动,RPC框架)、Hertz(字节跳动,HTTP框架)、go-zero(全栈微服务)
- 微服务治理:服务发现、配置中心、限流熔断、链路追踪
- 中间件应用:消息队列(Kafka/RabbitMQ)、分布式锁、分布式事务
- 监控告警:Prometheus + Grafana 部署与使用
- 练手任务:微服务商城(拆分商品、订单、支付3个服务)
阶段5:高级与性能优化(长期提升,目标:进大厂、拿高薪)
- 底层原理:Go内存模型、GC(垃圾回收)机制、协程调度器原理
- 性能调优:pprof工具使用、内存逃逸分析、代码性能优化
- 源码阅读:Gin、GORM、etcd源码(理解框架设计思路)
- 高级实战:自定义中间件、开发简单RPC框架、Docker/K8s二次开发
- 练手任务:开发一个简单的消息队列、Redis客户端
二、对应学习资源(按阶段匹配,优先免费、权威、易上手)
(一)官方核心资源(必看,无门槛)
- Go官网(英文):go.dev/ (最新版本、下载、官方文档入口)
- Go中文文档:go-zh.org/doc/ (中文翻译,入门友好)
- A Tour of Go(官方交互式入门):go.dev/tour/ (在线写代码,零基础首选)
- Go by Example(实例教程):gobyexample.com/ (按场景给可运行代码,边看边练)
- Effective Go(高效Go):go.dev/doc/effecti… (官方最佳实践,写地道Go代码必读)
- Go Playground(在线运行):play.golang.org/ (无需本地环境,快速测试代码)
- Awesome Go(生态大全):awesome-go.com/ (Go所有优质库、框架、工具汇总)
(二)分阶段资源推荐
1. 基础入门阶段
- 书籍(免费/中文):
- 《Go语言圣经》(The Go Programming Language):gopl-zh.github.io/ (系统严谨,覆盖所有基础语法)
- 《Go语言编程》(许式伟):适合零基础,讲解细致
- 在线教程:
- 视频课程(B站免费):
2. 核心进阶阶段
- 书籍:
- 《Go并发编程实战》:深入讲解goroutine、channel、sync包,实战性强
- 《100 Go Mistakes and How to Avoid Them》:通过错误案例提升编码质量
- 视频课程:
- 工具/文档:
3. Web开发与框架阶段
4. 云原生与微服务阶段
5. 高级与性能优化阶段
- 书籍:
- 《Go语言高级编程》:深入runtime、GC、内存模型、反射、汇编
- 《Go性能优化指南》:讲解pprof、内存逃逸、GC调优
- 源码学习:
- 工具:
(三)社区与交流(持续提升)
- Go中文社区:studygolang.com/ (国内最大Go社区,问答、文章、招聘)
- Go Forum:forum.golangbridge.org/ (国际社区,英文交流)
- Stack Overflow(Go标签):stackoverflow.com/questions/t… (解决技术问题)
- Go Weekly:golangweekly.com/ (每周Go技术资讯、优质文章)
- GitHub Trending(Go):github.com/trending/go (热门Go项目,学习参考)
三、就业补充(可选)
- 面试题:Go后端面试题汇总(GitHub):github.com/lifei6671/i… (覆盖基础、并发、微服务)
- 简历项目:优先放微服务、高并发相关项目(如微服务商城、并发爬虫)
- 岗位方向:Go后端开发、云原生开发、微服务开发、中间件开发