随着国内越来越多的企业开始使用Go语言,Go语言一度变得火热,成为不少程序员朋友的首选语言。Go语言最早诞生于谷歌,出自谷歌的三位大牛之手,自2009年发布以来,Go语言已经度过了第12个年头,相比于其它语言,可谓是语言界的新生儿。
如果想成为一名Go语言开发者,需要怎么入手呢?本文将会为您推荐一些关于Go语言学习的书籍、视频以及网站资源。
1.Go语言书单
1).Go语言实战
如果想快速使用Go语言进行开发实战,这本书是一个很好的选择。这本书没有对基础语法进行详细介绍,而是更偏实战应用一些。
这本书的目标读者是已经有一定其他编程语言经验,想要开始学习Go语言或者更深入了解Go语言及其内部机制的中级开发者,本书关注Go语言的规范和实现,涉及的内容包括语法、Go的类型系统、并发、通道和单元测试等主题。读完这本书,你就掌握了Go语言的精髓之处,这迎合了多数Gopher的内心需求。
2.Go Web编程
这本书介绍使用Go语言开发Web应用所需的全部基本概念,并详细讲解如何运用现代设计原则使用Go语言构建Web应用,适用于从事Go Web开发的人员。书中通过大量的实例介绍核心概念(如处理请求和发送响应、模板引擎和数据持久化等),并深入讨论更多高级主题(如并发、Web应用程序测试以及部署到标准系统服务器和PaaS提供商)。
3.Go语言高级编程
这本书聚焦于主流Go语言中缺失的或刻意回避的部分主题,主要面向希望深入了解Go语言,特别是对Go语言和其他语言的混合编程、Go汇编的工作机制、构造Web框架和分布式开发等领域感兴趣的学生、工程师和研究人员。阅读本书需要读者对Go语言有一定的认识和使用经验。
4.The Go Programming Language
这本书被称为Go语言圣经,是Gopher们必备的一本Go语言经典读物。这本书由<< The C Programming Language >>的作者Brian W. Kernighan(K)以及谷歌公司Go团队合作编写而成,是关于Go语言编程的著作。
本书可以帮助你立刻开始使用Go,以及良好的使用这门语言,并充分利用Go的语言特性和标准库来撰写清晰的、符合习惯用法的、高效的程序。Go语言的绝大多数特性,在这本书中都可以找到,由浅入深,从基础数据类型到复合数据类型、从函数、方法到接口、从创新的并发goroutine到传统的基于共享变量的并发,从包、工具链到测试,从反射到低级编程(unsafe包)。
2.Go语言视频教程
很多伙伴并不喜欢通过阅读纸制书的方式学习,看视频也是一个不错的学习方式,视频学习过程通常不会太跳跃,通过讲师的保姆级教学会使知识更容易被吸收。如bilibili、网易公开课、慕课网等都是不错的视频学习网站,下面介绍几个我觉得还不错的Go语言学习视频。
1).Golang入门到实战教程
B站尚硅谷韩老师的课程,课程内容非常详细,可谓是保姆级教学,总共包含388节课程,如果有充足时间学习的同学,还是非常建议可以学习一下的。通过此课程,除了可以学习Go语言的基础语法和进阶特性,还可以学习到一些基础数据结构。
除此之外,课程中还包含一些小项目的讲解,可以通过一些项目实战去熟悉Go语言的开发规范。课程最后介绍的聊天室项目,也综合使用了Go的并发特性、网络编程、redis数据库等技术点,可以用来练练手。
2).Golang学习手册之-带你21周搞定Go语言
如果觉得上面的视频太长,也可以选择学习这个视频,由老男孩教育出品的Go语言教程(视频来源B站)。内容虽然没有第一个视频详细,但是要点知识还是比较全面,适合新手入门。内容涵盖Go基础语法、进阶特性、Go网络编程、Mysql数据库等。
3).Go语言第一课
慕课网中含有大量的Go语言实战类课程,很多都是免费的,是一个宝藏网站。对于学习Go语言基础,郝林老师出品的Go语言第一课是一个非常好的选择,课程时长大约几个小时,帮助你快速学习Go语言基础。
3.Go语言学习网站
通过网站学习的方式,比较适合充分利用碎片化的时间,也便于在遇到问题的时候快速定位问题。下面介绍几个我在学习Go语言中比较常用的几个网站。
1).Go语言之旅
这是很不错的一个网站,非常适合小白入门,它会循序渐进的带你走入Go语言的世界。从带你开始写一个经典的"Hello World"案例开始,再到Go语言的基本语法规则以及一些进阶特性(如接口、方法、并发等),采用伴随式编程的方式带给您沉浸式的体验。
2).Golang官方网站
Packages
3).go语言中文网
比较喜欢的一个Go语言学习网站,如果不习惯使用外文网站,不妨尝试使用此网站获取学习资源。网站中包含大量的有关Go语言的博客、帖子,基本可以解决您遇到的绝大多数问题。
4).C语言中文网Golang版块
同样是中文网站,同样涵盖大量Go语言内容。正如其标题所写,所含内容非常丰富、详细,是很不错的一个Go语言学习网站。
5.菜鸟教程
菜鸟教程应该都不陌生,公开免费提供了很多技术知识的学习资源,而且质量不错,特别适合新手入门。
最后,也非常欢迎小伙伴关注我们的公众号。本公众号致力于推广Go语言基础知识,内容循序渐进,和新手们共同成长,一起学好Go语言。
资料领取:
「Go编程爱好者」是菜鸟学Python团队和985哈工大的同学一起运营的一个小号,专门发力Go语言编程,欢迎大家关注。需要Go学习的资料,可以在「Go编程爱好者」后台输入:小助手,找他领取。