Go 语言三周(18 天)速成学习计划

大家好,我是老周。最近老周整理了一份golang的速成学习路线,这个速成计划呢,主要针对两类急需掌握实用开发语言以解决就业问题的人群:

  1. 在校大四学生:秋招未通过,无熟练掌握的开发语言,对职业方向感到迷茫。
  2. 已毕业人群:无稳定工作,未明确职业发展方向,希望快速掌握一门语言进入开发领域。

老周整理这篇帖子同时整理了相关的学习资源,想要详细了解此篇内容或者需要资料的同学可以关注小破站:老周聊golang。老周也会在上面持续分享相关稿件,内容包括300+大厂面试系列(附相应资料PDF),GO保姆教程系列等(附相应资料PDF),如果有职业规划、面试中遇到的问题也可以找老周解答。

Go 语言三周(18 天)速成学习计划:

Go 语言优势与适配方向

(一)与其他语言对比

  • Go 语言:应用领域更广泛(含云计算、Web 后台、数据库、存储等),开发效率更高,适配业务开发场景。
  • Java/PHP:应用领域相对局限,多用于 Web 开发,开发效率中等,适配 Web 业务开发场景。
  • C/C++:侧重底层开发(如操作系统、驱动等),开发效率较低,适配底层功能开发场景。

(二)语言选择建议

  1. 若目标是 Java/PHP 开发:Go 与二者同属业务开发方向,且应用范围和效率更优,可优先考虑 Go。
  2. 若目标是 C/C++ 开发:目前水平不足且急需工作,建议先学 Go。二者不冲突,C/C++ 负责底层开发,Go 负责业务开发,可相辅相成(支持通过 CGO 调用 C 代码),后续工作中可灵活切换。

18 天详细学习计划(每周 6 天,1 天休息)

第 1 天:环境配置与命令行基础(约 3 小时)

  • SDK 安装:下载安装包并完成安装,配置 GOROOT、GOPATH、GOBIN 3 个环境变量,时长建议 1 小时。
  • IDE 安装与基础操作:下载安装 IDE(如 GoLand、VS Code),掌握文件 / 文件夹创建、保存、删除,熟悉不同扩展名文件操作,时长建议 1 小时。
  • 调试与命令行:调试仅需掌握打印输出(本地)和日志输出(生产环境),无需学习源码调试、附加进程、远程调试;命令行需掌握编译(含跨平台编译)、依赖管理(go get、go mod)、插件安装(go install),时长建议 1 小时。

第 2 天:Go 基础语法(约 10 小时)

  • 语言结构:明确包声明(package)、包导入(import)位置,掌握函数、变量定义格式及注释写法,时长建议 1 小时。
  • 基础语法:掌握函数定义(形参、返回值、调用),熟悉 25 个关键字 / 保留字的基本作用(无需精通,能写简单 Demo 即可),了解常用预定义标识符(无需掌握全部 36 个,重点关注 append、len 等常用标识,知道用途即可),时长建议 9 小时。

第 3 天:数据类型(约 6 小时)

  • 基础类型:掌握布尔类型、数值类型(int、float 等),学会定义常量和变量,暂不学习 iota(枚举模拟工具),时长建议 3 小时。
  • 派生类型:了解切片、结构体、接口的基本概念(接口类似 “所有类型的根”),暂不学习通道、函数、数组、泛型类型,时长建议 3 小时。

第 4 天:常用标准库(约 3 小时)

  • 学习目标:掌握 13 个常用标准库的核心用途及简单方法。
  • 学习方法:优先看能看懂的方法,看不懂的暂不研究。
  • 重点库示例:
  1. context:用于上下文传递
  2. encoding/json:实现 JSON 编码与反编码
  3. errors:负责错误信息的创建与输出
  4. fmt:处理字符串格式化
  5. io:实现文件读写操作

第 5 天:Go 语言特性功能(约 5 小时)

  • 异常处理:掌握 Go 中异常处理的常用方式
  • 接口实现:理解接口的定义与实现逻辑
  • Channel 使用:单独练习通道(演示类型)的使用方法,掌握通过通讯管理内存的方式
  • 说明:函数和 B 包暂不学习,非当前阶段重点需求

第 6 天:并发编程(约 6 小时)

  • 协程使用:掌握协程的创建与使用方法
  • 锁的应用:区分互斥锁与读写锁的适用场景,学会正确使用
  • 上下文(context):明确 context 的使用时机与方法
  • 说明:对象值、原子操作暂不学习,非速成阶段重点

第 7 天:网络编程(约 4 小时)

  • 学习范围:仅聚焦 Web 方向(速成以解决就业、胜任基础工作为目标,暂不涉及云计算、存储等复杂领域)
  • 重点内容:掌握 HTTP 相关编程(工作中使用频率最高)
  • 可选内容:有兴趣可了解 WebSocket,无兴趣可暂不学习

第 8 天:设计模式(约 3 小时)

  • 学习重点:仅掌握工厂模式(两种案例模式)
  • 说明:工厂模式是工作中使用最多的设计模式,且基础易懂,其他模式暂不学习(基础未掌握时,复杂模式难以理解应用)

第 9-10 天:数据结构与算法(共 7 小时)

  • 算法学习(4 小时):掌握常用排序算法(如冒泡排序、快速排序)、查找算法(如二分查找)
  • 数据结构学习(3 小时):了解常用数据结构(如数组、链表、栈、队列、哈希表)的基本概念与应用场景

第 11 天:版本控制(约 3 小时)

  • 分支管理:学会创建、删除分支,掌握分支的推送与拉取操作
  • Tag 管理:掌握 Tag 的创建与删除方法
  • 远程仓库管理:了解在远程仓库创建个人代码仓库的流程
  • 代码检查与对比:学会对比提交代码与历史版本的差异

第 12 天:Web 框架(约 4 小时)

  • API 设计:掌握接口设计的基本逻辑与规范
  • 模型绑定与参数验证:学会模型绑定方法,掌握参数验证的实现方式
  • 中间件应用:理解中间件的作用,学会通过中间件解决跨域、权限验证等问题

第 13-14 天:非关系型数据库(Redis)(共 6 小时)

  • 重点应用:优先掌握字符串、有序集合的使用(工作中最常用)
  • 命令行操作:学习 Redis 基本命令行操作,辅助理解 Redis 逻辑
  • 说明:其他数据类型暂不深入,以满足基础工作需求为主

第 15 天:关系型数据库(MySQL)(约 5 小时)

  • 数据库设计:掌握符合三范式的数据库设计方法
  • 基础操作:学会增删改查、表操作、索引操作
  • 进阶操作:了解分组、排序、分页的实现逻辑

第 16-18 天:项目实战(共 10 小时)

  • 项目内容:实现 “图片上传存储并返回短链接” 的 Mini 项目(解决具体业务需求,巩固前期所学)
  • 学习目标:通过实战梳理知识点,提升代码应用能力

以上就是今天分享的内容了,老周整理这篇帖子同时整理了相关的学习资源,想要详细了解此篇内容或者需要资料的同学可以关注小破站:老周聊golang。老周也会在上面持续分享相关稿件,内容包括300+大厂面试系列(附相应资料PDF),GO保姆教程系列等(附相应资料PDF),如果有职业规划、面试中遇到的问题也可以找老周解答。

#计算机##it##程序员##goland#
全部评论

相关推荐

鼠鼠今年大四了,和后端结缘于被双非计算机录取的那天。暑假敲下hello world的那一刻,似乎就已经注定现在的结局了。大一到大二学技术打比赛,每天泡在实验室,那时我还以为我拥有一个光明未来,结果就是菜的抠脚没拿几个有含金量的奖,大二下暑假开始找实习才发现时间已经浪费了。后面的六个月八股背了又背,平均一个月甚至没有一面,一半都是KPI,最后赶在年底找到了一份小厂实习。大三上开始离职找暑期,又是狠狠地被羞辱了,一份实习并没有帮我获取太多的机会,找了两个月没找到,当时同届已经有很多人开始转测开了,这两个月每天都在自己骗自己:会有的,明天就约面了。赶在4月底接到了bd的约面并通过了。我真的以为一切都要发生改变了,就像我第一次找到实习那样。基于部门的特殊性,我过上了10105的生活,每天都想离职,但是想到自己过去付出的努力,又忍了下来。直到8月底转正被卡了学历(组织架构调整导致去了一个卡学历的部门,时运不济),我毫不犹豫的离职了。25年9月上旬我并没有投简历,因为实习的原因冒着重修风险(差点缓考申请没过)缓考了。整个9月上旬都在考试。入场已经是9月下,因为实习错过了提前批,因为考试错过了秋招最佳投递时间。我也完全没有意识到一段大厂并没有办法改变双非的命运,整个秋招只有字节(全挂,鼠鼠太菜了)和哈啰(一面完笔试挂)给面了。比暑期更惨淡,我想不明白明明多了一段大厂实习为什么还不如暑期,但其实我内心知道是因为学历又低人又菜,但是鼠鼠尽力了,10月底开始投实习已经基本没有人要了。输的一塌糊涂。实习又是投了几个月,没等到补录,等来了滴滴实习的面试,oc了。没有oc bd时的喜悦,秋招挂0,春招前一个月才找到实习的双非后端应届毕业生,我不知道春招还会发生什么,也不敢继续期望了。也没得选了。回归主题,历经风雨,归来依旧大败的我还会走下去吗?我会,但是不是因为信念,而是因为对于我来说,已经没有其他选项了,孔乙己的长衫,似乎已经渗进我的皮肤了......
点赞 评论 收藏
分享
评论
1
12
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务