安徽专业网站制作公司网站空间不够用
针对Go语言的学习,不同阶段应采取不同的学习方式,以达到最佳效果.本文将Go的学习分为入门、实战、进阶三个阶段,下面分别详细介绍
一、社区
- Go语言中文网
 

作为专注于Go语言学习与推广的平台,Go语言中文网为开发者提供了丰富的中文文档和教程资源,是获取Go语言学习资料的重要渠道。
2、CSDN

这个综合性的IT技术社区,拥有海量的技术博客和问答资源,适合Go语言开发者在这里获取各类编程资源与经验分享,与其他开发者交流学习心得。
3、掘金

稀土掘金是一个鼓励高质量技术分享的社区,汇聚了众多Go语言开发者,便于大家在这里交流前沿技术与实战经验,共同进步。
二、入门阶段
入门阶段的目标是掌握Go的基本语法和知识,能够使用Go解决一些简单的问题.在这一阶段,不建议通过阅读书籍来学习,因为效率较慢;也不追求知识的广度,而是要求能够快速上手.建议直接观看一些介绍Go基础知识的视频课程,以下是一些推荐的课程。
- 387集通俗易懂的Go语言教程
 - Go开发工程师零从入门到就业班
 - 大佬带你21周搞定Go语言
 - go语言教程零基础入门到精通史上最全go教程
 
入门系列博客
- go-ElasticSearch入门看这一篇就够了
 - 女朋友问我:小松子,你知道Go语言参数传递是传值还是传引用吗?
 - Golang开发新手常犯的50个错误
 - 使用go-swagger为golang API自动生成swagger文档
 - go module 使用教程
 - Go-kit微服务实战(1)- 搭建基本的三层架构
 - Go 日常开发常备第三方库和工具
 - golang源码阅读之定时器以及避坑指南
 - Golang 需要避免踩的 50 个坑
 - Go 语言实现 WebSocket 推送
 - GO 语言学习资源整理
 - 为什么很多公司都转型go语言开发?Go语言能做什么
 - Golang 实现轻量、快速的基于 Reactor 模式的非阻塞 TCP 网络库
 - Go 和 Rust 我都要!
 - Go 语言内存管理(二):Go 内存管理
 - machinery入门看这一篇
 - 深入理解Go-垃圾回收机制
 
三、实战阶段
实战阶段的核心任务是增加知识广度,通过多读书、多做项目,将理论与实践相结合,从而提升理论水平和实战经验。
关于书籍方面,推荐如下基本
1、Go语言精进之路(豆瓣评分9.0)

这是一本经典之作,书中不仅包含大量编程指导和实践经验,还从Go语言设计者的视角对Go背后的设计哲学和编程思想进行了深入梳理和分析,非常适合刚入门的读者。
2、Go语言编程之旅:一起用Go做项目(豆瓣评分8.6)

本书对项目开发、细节分析、运行时分析等核心内容进行了较为深入的剖析,提供了相对完整的项目实践经验,对项目实战有相当大的帮助。
3、Go Web 编程(豆瓣评分8.1)

本书以一个网络论坛为例,教授读者如何使用请求处理器、多路复用器、模板引擎、存储系统等核心组件构建Go Web应用,并在此基础上构建相应的Web服务。
关于教学课程方面的推荐
- Go语言实战开发企业级分布式云存储系统
 - Go 实战训练营全体系课程
 - Go从入门到进阶,大厂案例全流程实践
 - 码神之路Go语言挺进大厂实战营
 - Go语言区块链从入门到深度实战
 
这几个视频课程都是关于项目实战方面的,没什么好介绍的,跟着课程把里面的项目实战都实践一遍,对提升编程技能很有帮助。
关于项目方面的推荐
1、flipped-aurora/gin-vue-admin
这个开源项目是gin+vue搭建的(中)后台系统框架,适合有一定编程基础的编程爱好者实践,也适合已经工作的 Go 工程师学习
2、awesome-go
从名字就可以看出它也是 awesome 系列的一员,这个仓库涵盖的项目非常全面,涵盖认证授权、持续集成、电子邮件、游戏开发,图形界面开发、命令行......。非常的全面!
3、aceld/zinx
基于Golang轻量级TCP并发服务器框架,适合具有一定基础的 Go 语言学习者
实战方面博客推荐
- go语言之行--golang核武器goroutine调度原理、channel详解
 - Go内存泄漏?不是那么简单!
 - 手把手教姐姐写消息队列
 - 大神是如何学习 Go 语言之浅谈 select 的实现原理
 - Golang 隐藏技能 -- 访问私有成员
 - 深入golang runtime的调度
 - 深度解密Go语言之sync.map
 - Go源码:协程栈
 - Go原理之上下文 Context
 - golang 图像验证码
 - go并发之goroutine和channel,并发控制入门篇
 - GO千万级消息推送服务
 - 【Golang源码系列】五:锁的实现原理分析
 - 深入golang之---goroutine并发控制与通信
 - Go原理之Channel解读
 - GO 中 Chan 实现原理分享
 - 深入理解go-channel和select的原理
 - Go 译文之通过 context 实现并发控制
 - 图文结合,白话Go的垃圾回收原理
 - 在Golang中各种永远阻塞的姿势
 
四、进阶阶段
进阶阶段的目标是加深知识深度,不仅要强化编程高阶技能,如性能优化、项目选型架构等,更要提升编程理论水平.这一阶段需要更多地通过阅读书籍和学习难度较高的课程、项目来实现。
关于书籍的推荐
1、Go专家编程(豆瓣评分9.0)

本书深入讲解了Go语言常见特性的内部机制和实现方式,大部分内容源自对Go语言源码的分析,并从中提炼出实现原理,帮助读者快速、轻松地了解Go语言的内部运作机制。
2、Go语言设计与实现(豆瓣评分8.7)

本书内容全面,涵盖调试源代码、编译原理、数据结构、语言特性、常用关键字、并发编程、内存管理、元编程和标准库等多个方面,几乎囊括了Go语言从编译到运行的全过程.通过阅读本书,读者不仅能够深入理解Go语言的实现细节,还能深刻认识设计背后的原理,同时提升阅读源代码的技能。
关于课程的推荐
- GO语言构建高性能高并发的大型企业抽奖系统
 - 深入Go底层原理-重写Redis中间件实战
 - go微服务构建秒杀系统
 - Go语言开发社区网站与高性能架构部署
 - 海量数据高并发场景 构建Go+ES8企业级搜索微服务
 - Go构建分布式高并发爬虫系统
 
这些课程都涉及性能优化方面的知识,对于深入了解Go底层原理和提升性能优化能力有很大帮助。
关于进阶的博客的推荐
- 编写和优化Go代码
 - Go 应用的性能优化
 - Go语言之pprof的性能调优”燥起来“
 - Golang测试与性能调优
 - Go优化
 - 深入golang之---goroutine并发控制与通信
 - 一个调度系统的开发与性能优化
 - Go 译文之通过 context 实现并发控制
 - Go 程序性能分析 101
 - Go语言性能优化- For Range 性能研究
 - golang 使用pprof和go-torch做性能分析
 - Go 调用 Java 方案和性能优化分享
 - 性能优化实战:百万级WebSockets和Go语言
 - 字节跳动 Go RPC 框架 KiteX 性能优化实践
 - 多维度思考:如何提高项目的开发时间、提高安全性、提高运行速度,从多个维度带来的一些思考。 | Go主题月
 - go pprof 性能分析
 - GO性能优化小结
 - Go语言项目性能优化实例剖析
 - Go语言性能优化-两数之和算法性能研究
 - Go借助PProf的一次性能优化
 - Golang 反射性能优化
 - Go在迅雷P2P连通系统中的性能优化实践
 - Golang的GC性能优化技巧
 
