前言
爆肝两千字,分享一下我的Go学习路线,让大家少走弯路,又快又好的成为Gopher。
应Carson爱学习
这位掘友的要求,我把Go语言学习专栏的文章进行了梳理,方便大家能够按顺序系统的进行学习。
非常建议大家按照我下面整理的顺序,进行“抄作业”式的学习。
概览
首先分享了我的学习经验:讲一讲Go语言为什么值得学习?以及我是如何高效学习Go语言的。
然后就是手艺活了,需要大家和我一样,坚持每天手撸代码,多敲多想:
通过对Go基础篇的学习,可以从Go小白升级成为能用Go撸代码的gopher。
通过对Go进阶篇的学习,可以从Go初级程序员升级为Go中级工程师。
通过Go PHP JAVA类比篇的学习,可以更好的理解Go的优势,更好的理解Go的设计思想。
框架篇 不仅对比了目前主流的Go框架,还重点讲解了GoFrame框架相关的知识点。
GoFrame是类似PHP-Laravel, Java-SpringBoot的Go企业级开发框架,非常值得大家学习。
最后,会通过几篇应用实践的文章收尾,带大家体验一下用Go开发企业项目的快乐。
学习经验
# 写Go最近踩的坑 | 日志、内聚和复用、gjson、调整心态
基础篇
# Go slice切片详解和实战(2) make append copy
# Go pointer & switch fallthrough 详解和实战
# Go时间包jsontime深入浅出 如何优雅的对时间进行格式化 |Go 主题月
# Go开发web必懂的概念和底层原理,通过对比的方式让大家更好的理解 | Go主题月
进阶篇
# 什么时候用Goroutine?什么时候用Channel?
# Go RPC入门指南1:RPC的使用边界在哪里?如何实现跨语言调用?| Go 主题月
# Goroutine就是协程:进程 线程 协程 各自的概念以及三者的对比分析 | Go主题月
# Go开发技巧和踩坑分享 | 代码结构 调试技巧 配置文件 元数据
Go PHP JAVA类比篇
# 为什么我觉得GoFrame的garray比PHP的array还好用?
# GoFrame gset使用入门 | 对比PHP、Java、Redis
框架篇
学哪个框架?
# Go主流框架对比:Gin Echo Beego Iris
# 非常适合PHP/JAVA同学使用的GO框架:GoFrame
Gin框架&中间件
GORM
# Go GORM是时候升级新版本了 2.0新特性介绍(1)
# Go GORM是时候升级新版本了 2.0新特性介绍(2)| Go主题月
GoFrame
数据结构
# 为什么我觉得GoFrame的garray比PHP的array还好用?
# GoFrame gset使用入门 | 对比PHP、Java、Redis
# GoFrame gset使用技巧总结 | 出栈、子集判断、序列化、遍历修改
# GoFrame gmap详解 hashmap、listmap、treemap使用技巧
# GoFrame gtree 使用入门 | 养成读源码的好习惯
类型转换
# GoFrame代码优化:使用gconv类型转换 避免重复定义map
通用变量
# GoFrame 通用类型变量gvar | 对比 interface{}
数据校验
# GoFrame数据校验之校验结果 | Error接口对象
错误处理
上下文
# GoFrame 如何优雅的共享变量 | Context的使用
ORM
缓存管理
# GoFrame gcache使用实践 | 缓存控制 淘汰策略
# GoFrame gredis 配置管理 | 配置文件、配置方法的对比
# GoFrame gredis 硬核解析 | DoVar、Conn连接对象、自动序列化
协程管理
# GoFrame gpool 对象复用池 | 对比sync.pool
# goFrame的gqueue详解 | 对比channel
避坑指南
性能测试
# GoFrame grpool性能测试 | 对比原生goroutine
调试
应用实践
Git
# Git使用实战:多人协同开发,紧急修复线上bug的Git操作指南。
刷题
如果你是学生党,没有机会接触商业项目,不用难过。刷力扣是个非常好的选择!
最后
欢迎大家和我一起学习Go语言,有任何和Go语言学习相关的问题都可以给我留言。
我会在看到的第一时间回复大家。
为了让掘友们能够更全面更系统的学习Go语言。
我搞一个小活动:欢迎掘友们把你们优质的Go语言文章在这篇文章底部进行留言,我会把符合条件的文章增加到这篇《Go学习路线图》中。
截止到7月31日,投稿成功数量最多的掘友,送掘金活动同款投影仪一个。