Go语言是谷歌发布的一套编程语言,因为其简单的部署、良好的并发性等特点受到很多企业的青睐,国外如Google、AWS、Cloudflare、CoreOS等,国内如七牛、阿里等都已经使用Golang开发其云计算相关产品。
因此也有很多小伙伴选择Go语言,其实也对,毕竟大众化的语言Python、Java、C、C++等岗位竞争激烈,那么为何不选择一门竞争性相对而言比较小却也有前景的一门语言呢。
那么要学习Go语言就回到我一直说的问题啦“哪里可以找到好的学习资源?”,其实Go语言还是可以在网上找到很多学习资源的,毕竟现在学习Go语言的、用的人还是蛮多的。
但是,我还是按照我的方式来总结一篇Go语言的学习资源吧,会从以下几个方面整理:
- 1)在线学习教程:比较系统全面,非常适合新手入门学习;
- 2)书籍:毕竟很多人学习一门语言是从书籍开始的;
- 3)其他Go语言的整理资源:很多比较好的Go语言资源总结整理,推荐看;
- 4)Go语言中文社区:专门的Go语言中文社区,可以交流讨论,感兴趣的可以看看;
- 5)其他:其他与Go语言相关的一些整理;
一、在线学习教程
主要整理一些比较系统的Go语言学习教程,适合新手学习;
1、官网:
要学习一门语言,当然首先就是推荐官网啦,官网上有各种想要的资源和文章,一定要看,不过门槛就是英文要过关: The Go Programming Language
官网里面新手推荐看:
- A Tour of Go(Go语言编程指南) (中文版本在这里: Go 指南):主要是带你了解基础的Go语言和使用方法,重点是有个在线编译器,可以在浏览器里面写Go语言,直观感受Go语言;
- How to Write Go Code:也是带你入门学习Go语言的,类似教程吧,英文的,新手同样可以看;
- https://golang.org/ref/spec:Go编程语言的参考手册,英文的;
官网是要看,但是可以结合其他一些在线教程一起学习,下面推荐一些教程,分为文档形式和视频形式的教程,可以按照自己的喜好进行选择。
2、在线教程——文档:
- Go by Example (中文版:GO - Go by Example 中文版):纯文档;
- 实验楼Go语言编程入门教程:纯文档+在线开发环境;
- 易百教程Go语言入门:纯文档;
- 菜鸟教程Go 语言教程:纯文档;
以上4个教程都是纯文档形式的,但是都非常系统,非常适合新手入门学习;
3、在线教程——视频:
以上3个教程都是视频形式的,喜欢看视频的可以选择其中一个教程进行入门学习;
4、其他
- Go语言体验:免费的golang在线开发环境,可直接通过浏览器访问进行Go语言的学习与编程。
- 学习一门语言自然少不了动手实战,那么实战项目教程可以去各大学习网站找,一般都会有,就不一一列出来了,需要的自己去看就行,推荐实验楼上的实战教程吧,毕竟文档的话随时都可以看,就像看文章一样:Go语言实战项目
二、GO语言相关书籍:
- 《Go语言圣经 》(中文版:Go语言圣经 · GitBook):推荐的人较多,可以看看;
- 《深入解析Go》:gitbook上开源书籍 ,免费可以看的,作者主要分享对Go语言的内部实现的一些研究;
- 《 Go Web 编程》:gitbook上开源书籍 ,主要是关于web编程方面的,同样是免费的;
- 一本学习 Go 语言的免费电子书:代码托管在github上的,可以克隆项目,书籍主要是教你如何使用Go语言;
其实,书籍有很多很多,主要找到自己觉得不错的,毕竟每个人对于每本书的看法不一样,所以就推荐以上4本吧
三、其他相关GO语言资源整理:
网上有很多大牛已经总结了一些很好的Go语言资源整理,所以我不必重复造轮子了,直接整理在一起了,都可以看看,毕竟里面有很多好的资源,对于学习肯定是有帮助的。
还有这些里面也可以找到一些不错的资源:
- 知乎上的话题: 怎么学习golang?
- csdn博主[[千年的塔]]写的文章: go 语言学习历程
四、Go语言中文社区:
还有一些小伙伴是想要找一些社区的,这里就整理3个Go语言中文社区吧,可以交流探讨,感兴趣的可以去看看;
其他的一些众所周知的社区也是可以的,只要你想交流任何地方都可以,不限于在什么地方交流,主要是要有一颗愿意与其他小伙伴交流的心,多交流肯定有好处。
五、其他相关:
还有一些杂七杂八的文章文档,就放在一起吧,挑感兴趣的看就行了;
- https://godoc.org/:熟悉package
- Golang 知识点总结
- 编写地道的Go代码
- [翻译]十条有用的 GO 技术
- Go 入门学习教程:算是比较系统的学习文档;
- 你可能还不知道的一些 Go 语言工具
- Go简明教程
- 使用Go语言每分钟处理1百万请求(译)
- Go开源项目速查表
## Go语言实战笔记
1. [Go语言环境搭建详解](网页链接)
2. [《Go语言实战》笔记(一) | Go包管理](网页链接)
3. [《Go语言实战》笔记(二) Go开发工具](网页链接)
4. [《Go语言实战》笔记(三) | Go Doc 文档](网页链接)
5. [《Go语言实战》笔记(四) | Go 数组](网页链接)
6. [《Go语言实战》笔记(五) | Go 切片](网页链接)
7. [《Go语言实战》笔记(六) | Go Map](网页链接)
8. [《Go语言实战》笔记(七) | Go 类型](网页链接)
9. [《Go语言实战》笔记(八) | Go 函数方法](网页链接)
10. [《Go语言实战》笔记(九) | Go 接口](网页链接)
11. [Go语言实战笔记(十)| Go 嵌入类型](网页链接)
12. [Go语言实战笔记(十一)| Go 标志符可见性](网页链接)
13. [Go语言实战笔记(十二)| Go goroutine](网页链接)
14. [Go语言实战笔记(十三)| Go 并发资源竞争](网页链接)
15. [Go语言实战笔记(十四)| Go 通道](网页链接)
16. [Go语言实战笔记(十五)| Go 并发示例-Runner](网页链接)
17. [Go语言实战笔记(十六)| Go 并发示例-Pool](网页链接)
18. [Go语言实战笔记(十七)| Go 读写锁](网页链接)
19. [Go语言实战笔记(十八)| Go log 日志](网页链接)
20. [Go语言实战笔记(十九)| Go Writer 和 Reader](网页链接)
21. [Go语言实战笔记(二十)| Go Context](网页链接)
22. [Go语言实战笔记(二十一)| Go 单元测试](网页链接)
23. [Go语言实战笔记(二十二)| Go 基准测试](网页链接)
24. [Go语言实战笔记(二十三)| Go 调试](网页链接)
25. [Go语言实战笔记(二十四)| Go 反射](网页链接)
26. [Go语言实战笔记(二十五)| Go Struct Tag](网页链接)
27. [Go语言实战笔记(二十六)| Go unsafe 包之内存布局](网页链接)
28. [Go语言实战笔记(二十七)| Go unsafe Pointer](网页链接)
29. [Go语言实战笔记(二十八)| Go 后记](网页链接)
## Go语言经典库使用分析
1. [Go语言经典库使用分析(一)| 开篇](网页链接)
2. [Go语言经典库使用分析(二)| Gorilla Context](网页链接)
3. [Go语言经典库使用分析(三)| Gorilla Handlers 详细介绍](网页链接)
4. [Go语言经典库使用分析(四)| Gorilla Handlers 源代码实现分析](网页链接)
5. [Go语言经典库使用分析(五)| Negroni 中间件(一)](网页链接)
6. [Go语言经典库使用分析(六)| Negroni 中间件(二)](网页链接)
# [Golang 中文学习资料](网页链接)
本书汇总了网上优质的开源 Golang 电子书,方便大家学习,涵盖以下三本书:
- [Go入门指南](网页链接)
- [Go语言圣经](网页链接)
- [Go Web 编程](网页链接)
推荐几本golang电子书,可以直接在线看
Go轻松学: 网页链接
Go示例学: 网页链接
Go Web 编程: 网页链接
原文链接:zhuanlan.zhihu.com
请发表评论