Go 学习路线图,包括基础专栏,进阶专栏,源码阅读,实战开发,面试刷题,必读书单等一系列资源。
关注公众号:AlwaysBeta,回复「goebook」即可获得 Go 编程必读书籍。
- Go 专栏|开发环境搭建以及开发工具 VS Code 配置
- Go 专栏|变量和常量的声明与赋值
- Go 专栏|基础数据类型:整数、浮点数、复数、布尔值和字符串
- Go 专栏|复合数据类型:数组和切片 slice
- Go 专栏|复合数据类型:字典 map 和 结构体 struct
- Go 专栏|流程控制,一网打尽
- Go 专栏|函数那些事
- Go 专栏|错误处理:defer,panic 和 recover
- Go 专栏|说说方法
- Go 专栏|接口 interface
- Go 专栏|并发编程:goroutine,channel 和 sync
- 开源项目|Go 开发的一款分布式唯一 ID 生成系统
- 听说,99% 的 Go 程序员都被 defer 坑过
- 测试小姐姐问我 gRPC 怎么用,我直接把这篇文章甩给了她
- gRPC,爆赞
- 使用 grpcurl 通过命令行访问 gRPC 服务
- 推荐三个实用的 Go 开发工具
- 读 Go 源码,可以试试这个工具
- Go Error 嵌套到底是怎么实现的?
- 为什么要避免在 Go 中使用 ioutil.ReadAll?
- 如何在 Go 中将 []byte 转换为 io.Reader?
- 开始读 Go 源码了
- 交替打印数字和字母
- 判断字符串中字符是否全都不同
- 翻转字符串
- 判断两个给定的字符串排序后是否一致
- 字符串替换问题
- 机器人坐标计算
- 语法题目一
- 语法题目二
- goroutine和channel使用一
- 实现阻塞读的并发安全Map
- 高并发下的锁与map读写问题
- 定时与 panic 恢复
- 为 sync.WaitGroup 中Wait函数支持 WaitTimeout 功能.
- 七道语法找错题目
- golang 并发题目测试
- 记一道字节跳动的算法面试题
- 多协程查询切片问题
- 对已经关闭的的chan进行读写,会怎么样?为什么?
- 简单聊聊内存逃逸?
- 字符串转成byte数组,会发生内存拷贝吗?
- http包的内存泄漏
- sync.Map 的用法
- Go语言的GPM调度器是什么?
- Goroutine调度策略
- goroutine调度器概述
百度云下载链接 密码:51fn
- 《Go 程序设计语言》--- 艾伦A.A.多诺万、布莱恩W.柯尼汉
- 《Go 语言编程》--- 许式伟
- 《Go 语言实战》--- 威廉·肯尼迪、布莱恩·克特森、埃里克·圣马丁
- 《Go 语言核心编程》--- 李文塔
- 《Go 语言学习笔记》--- 雨痕
- 《Go 编程并发实战》--- 郝林
- 《Go入门指南》
- 《Go语言标准库》
- 《Go Web 编程》
- 《Go语言博客实践》
- 《Go语言学习笔记》
- 《Go语言高级编程》
- 《Effective Go》
- 《Learning Go》英文版 => 《Learning Go》 中文版
- 《Go 命令教程》
- 《Network programming with Go》 => 中文版
- 《Practical Cryptography With Go》
- 《An Introduction to Programming in Go》
- 《Go Bootcamp》
- 《Mastering Concurrency in Go》 July 2014 Nathan Kozyra
- 《Go Programming Blueprints》 January 23,2015
- 《The Go Programming Language》 Published Oct 30, 2015,Not Yet Published
- 《Practical Go: Real world advice for writing maintainable Go programs》
- 《Go 语言圣经(中文版)》
- 《Go 语言并发编程》
- 《深入解析 Go》
网站链接: http://c.biancheng.net/golang/
这套 Go 语言教程通俗易懂,深入浅出,既适合没有基础的读者快速入门,也适合工作多年的程序员查阅知识点。
网站链接: https://www.runoob.com/go/go-tutorial.html
这个网站就不需要多介绍了吧,很多编程语言的入门教程都可以在这里找到。平时写代码过程中,某个知识点忘了,也可以到这里查。
网站链接: https://www.w3cschool.cn/go/
也是一个综合性的编程入门教程网站,资料很多,也都很基础。
网站链接: https://www.runoob.com/go/go-tutorial.html
和前面两个网站差不多,这个网站上也有很多基础教程。
网站链接: https://golang.iswbm.com/
很不错的系列教程,基础知识涵盖也比较全面。作者还有一个教程,叫 Python 编程时光,我也经常看。
网站链接: https://www.topgoer.cn/
可以说是 Go 编程的导航网站了,收藏了很多 Go 学习资料。包括网站,书籍,开源库,开源项目等。
网站链接: https://gobyexample.com/
很多代码示例,学习基础知识的时候很实用。可以一边看理论,一边参考这个网站写代码,效果会更好。
网站链接: https://mojotv.cn/
很不错的博客,里面很多 Go 进阶文章,还有其他方面的技术文章,值得一读。我试图找了一下作者信息,但是没找到。
网站链接: https://draveness.me/golang/
左神的博客,内容很深,想要成为大神的话,绝对要来看。
网站链接: https://talkgo.org/
这是一个由众多资深 Gopher 组织的开源项目,主要是对 Go 源码进行解读,并且坚持开源,将相关资源都上传到了 GitHub。
-
文档:
- Go Code Review Comments:Go 语言代码风格指导
- Go Code Convention:无闻的 Go 语言编码规范
- Uber Go Guide: Uber Go 语言编码规范
- GopherCon 2014
- GopherCon 2015
- GopherCon 2016
- GopherCon 2017
- Go 项目标准布局
-
学习站点:
-
实用工具:
- Web 框架:
- ORM 以及数据库驱动:
- xorm:支持 MySQL、PostgreSQL、SQLite3 以及 MsSQL
- mgo:MongoDB 官方推荐驱动
- gorm: 全功能 ORM (无限接近) 支持 MySQL、PostgreSQL、SQLite3 以及 MsSQL
- gosql: gosql 一款全新ORM go-style风格、轻量、简单、强大 支持 MySQL
- redigo: Redigo is a Go client for the Redis database.
- TiDB: is an open-source NewSQL database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads
- 实用库:
- converter: a lib for golang, generate mysql table schema to golang struct
- validator: Package validator implements value validations for structs and individual fields based on tags.
- cron: a cron library for go
- amqp: This is an AMQP 0.9.1 client with RabbitMQ extensions in Go.
- cli: cli is a simple, fast, and fun package for building command line apps in Go.
- viper: Viper is a complete configuration solution for Go applications including 12-Factor apps.
- ants: ants 是一个高性能的 goroutine 池,实现了对大规模 goroutine 的调度管理、goroutine 复用,允许使用者在开发并发程序的时候限制 goroutine 数量,复用资源,达到更高效执行任务的效果。
- cel-go: Fast, portable, non-Turing complete expression evaluation with gradual typing (Go)
- 其他:
- Golang 中国:国内较早的 Go 社区,汇聚各类信息与服务
- Study Golang:国内 Go 社区先驱,同样汇聚各类信息与服务
- Revel 交流论坛:Revel 框架的中文社区
- GoCN Forum:Go 语言爱好者中文交流论坛
- IGO.PUB Go社区:Go语言技术社区(新),完美主义者社区
- Go 技术论坛: Golang / Go 语言中国知识社区
- Go Forum:Go 语言爱好者英文交流论坛
- golang-nuts 邮件列表:Go 语言官方指定邮件列表讨论区
- Go+ 社区:Go 语言官方指定 G+ 社区
- 官方:
- Go 中国站点: Go 语言中国官方站点(无需翻墙)
- Playground:Go 语言代码在线运行
- 国内镜像:
- 辅助站点:
- Go Walker:Go 语言在线 API 文档
- gobuild.io:Go 语言在线二进制编译与下载
- Rego:Go 语言正则在线测试
- gopm.io:科学下载第三方包
- Json To Go struct:Convert JSON to Go struct在线工具
- 支持 Go 的云平台:
- 其它站点:
- Golang 杂志:订阅说明
- Newspaper.IO:Golang 新闻订阅
- Go Newsletter:Golang 新闻订阅
-
基础:
- Go Slices and Bytes - Shakeel Mahate:Youtube
-
COSCUP 2013:
- Golang & ORM - 林佑安:Youtube
-
GopherCon:
-
Golang UK Conference:
-
GopherCon India 2015: Youtube
文中分享书籍全部来源于网络其他人的整理,这里只是收集整理了他们的链接,如有侵权,马上联系我,我立马删除对应链接。