爆肝两千字整理《Go学习路线图》| 文末投稿送投影

前言

爆肝两千字,分享一下我的Go学习路线,让大家少走弯路,又快又好的成为Gopher

image.png

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语言为什么值得学习?

# 回顾一下我的Go学习之旅 | Go 主题月

# 写Go最近踩的坑 | 日志、内聚和复用、gjson、调整心态

基础篇

#【Go基础】编译、变量、常量、基本数据类型、字符串

# Go const和iota 使用实战

# Go基础数据类型使用实战:int float bool

# Go slice切片详解和实战

# Go slice切片详解和实战(2) make append copy

# Go 数组详解和实战

# Go map详解和实战

# Go rune详解和实战

# Go pointer & switch fallthrough 详解和实战

# go if判断和for循环实战 goto使用的那些坑

# Go 函数详解 func 匿名函数 闭包

# 如何优雅的通过Shell脚本一键部署GO项目到服务器

# Go时间包jsontime深入浅出 如何优雅的对时间进行格式化 |Go 主题月

# Go语言json包的使用技巧

# Go开发web必懂的概念和底层原理,通过对比的方式让大家更好的理解 | Go主题月

进阶篇

# 什么时候用Goroutine?什么时候用Channel?

# Go RPC入门指南1:RPC的使用边界在哪里?如何实现跨语言调用?| Go 主题月

# Goroutine就是协程:进程 线程 协程 各自的概念以及三者的对比分析 | Go主题月

# Go打包 部署 优雅的把Go项目部署到Linux服务器

# Go语言中比较优雅的写法 | 硬核!

# 爆肝分享两千字Go编程规范

# Go开发技巧和踩坑分享 | 代码结构 调试技巧 配置文件 元数据

Go PHP JAVA类比篇

# 为什么我觉得GoFrame的garray比PHP的array还好用?

# GoFrame gset使用入门 | 对比PHP、Java、Redis

框架篇

学哪个框架?

# Go主流框架对比:Gin Echo Beego Iris

# 非常适合PHP/JAVA同学使用的GO框架:GoFrame

Gin框架&中间件

# Go gin框架封装中间件之1:用户角色权限管理中间件

# Go gin框架封装中间件之2:操作日志中间件

GORM

# Go GORM是时候升级新版本了 2.0新特性介绍(1)

# Go GORM是时候升级新版本了 2.0新特性介绍(2)| Go主题月

GoFrame

数据结构

# 为什么我觉得GoFrame的garray比PHP的array还好用?

# GoFrame garray使用实践

# GoFrame gset使用入门 | 对比PHP、Java、Redis

# GoFrame gset使用实践 | 交差并补集

# GoFrame gset使用技巧总结 | 出栈、子集判断、序列化、遍历修改

# GoFrame glist 基础使用和自定义遍历

# GoFrame gmap详解 hashmap、listmap、treemap使用技巧

# GoFrame gtree 使用入门 | 养成读源码的好习惯

类型转换

# GoFrame代码优化:使用gconv类型转换 避免重复定义map

通用变量

# GoFrame 通用类型变量gvar | 对比 interface{}

数据校验

# GoFrame数据校验之校验对象 | 校验结构体

# GoFrame数据校验之校验结果 | Error接口对象

# GoFrame如何实现顺序性校验

错误处理

# GoFrame错误处理的常用方法&错误码的使用

上下文

# GoFrame 如何优雅的共享变量 | Context的使用

ORM

# GoFrame ORM 使用实践分享

# GoFrame ORM原生方法 开箱体验 (上)

# GoFrame ORM原生方法 开箱体验 (下)

# GoFrame必知必会之Scan:类型转换

缓存管理

# GoFrame 如何优雅的缓存查询结果

# GoFrame gcache使用实践 | 缓存控制 淘汰策略

# GoFrame gredis 配置管理 | 配置文件、配置方法的对比

# GoFrame gredis 硬核解析 | DoVar、Conn连接对象、自动序列化

# GoFrame gredis 如何优雅的取值和类型转换

协程管理

# GoFrame gpool 对象复用池 | 对比sync.pool

# goFrame的gqueue详解 | 对比channel

# grpool goroutine池详解 | 协程管理

避坑指南

# GoFrame避坑指南和实践干货

# GoFrame避坑指南和实践干货(2)

性能测试

# GoFrame grpool性能测试 | 对比原生goroutine

调试

# Go本地测试 如何解耦 任务拆解&沟通

应用实践

# gtoken替换jwt实现sso登录 | 带你读源码

# gtoken替换jwt实现sso登录 | 排雷避坑

# Go对接三方API实践

# Go一分钟对接ElasticSearch实践

Git

# Git使用实战:多人协同开发,紧急修复线上bug的Git操作指南。

# Git 重命名远程分支 | 操作不规范,亲人两行泪。

刷题

如果你是学生党,没有机会接触商业项目,不用难过。刷力扣是个非常好的选择!

用Go语言刷力扣专栏

最后

欢迎大家和我一起学习Go语言,有任何和Go语言学习相关的问题都可以给我留言。

我会在看到的第一时间回复大家。

为了让掘友们能够更全面更系统的学习Go语言

我搞一个小活动:欢迎掘友们把你们优质的Go语言文章在这篇文章底部进行留言,我会把符合条件的文章增加到这篇《Go学习路线图》中。

截止到7月31日,投稿成功数量最多的掘友,送掘金活动同款投影仪一个。

技术专题18期-聊聊Go语言框架

猜你喜欢

转载自juejin.im/post/7119123646471208968