最近经常有人问想学习Go语言,有什么书推荐吗?我想在Go语言方面有所进阶应该看什么书?
所以,我大概整理了一些我看过的书籍推荐给大家。
基础入门
刚开始学习或还未入门Go语言,或者对于Go语言基础不太好的同学,这几本书会帮助到你。
如果想系统学习Go语言的基础知识,我强烈推荐一本书《Head First Go语言程序设计》。
这本书主要内容包括语法基础、条件和循环、函数、包、数组、映射、结构、封装和嵌入、接口、故障恢复、共享、自动化测试、Web应用程序等。
另一本比较基础的书是七牛云存储团队写的《Go语言编程》。
该书出版比较早,以介绍Go语言特性为主,书中的示例大多采用的作者开发者团队平常的实践,内容涉及内存管理、错误处理、OOP、并发编程等。
另外,还有一本书《Go程序设计语言》这本书也不错,里面有很多应用实例,基础入门以后你可以选择这本书看下,然后跟着里面的实例实践一下,也会对你有很多帮助。
《Go Web编程》
本书主要是从Web方面入门,介绍了如何处理Web各方面设计、数据库以及如何编写Go Web应用等相关知识,最后会有一个如何设计一个Web框架的的介绍。
Go语言进阶
这些书籍适合有一定基础或者经验的同学看。
《Go语言编程之旅:一起用Go做项目》
本书主要从命令行应用、HTTP应用、RPC应用、WebSocket应用、进程内缓存和PProf应用等。
《Go并发编程实战》(第二版)
该书除基础知识法,后面阐述了多进程编程和多线程编程有关的知识,重点介绍了goroutine、channel以及Go提供的传统同步方法,并通过一个完整的网络爬虫实例来结尾。
《Go语言高级编程》
本书适合对Go语言应用已经有一些心得并希望能够深入理解底层实现原理的同学学习。
本书主要讲解Go语言的进阶知识,书中涉及CGO编程和Go汇编方面知识,如何打造一个自己的RPC系统,以及工业级环境的Web系统的设计和相关设计。
Go语言实践
任何编程语言的进阶都是在不断解决问题过程中成长的,也没什么情况下比你自己解决问题得来的经验更深刻。
学习Go语言重要是先搞清楚Go语言适合的领域,入门以后,再根据自己的经验以及行业项目可以找一些开源的项目去练手,如果能将项目应用到某一个具体的实际场景中那就再合适不过了。
在项目开发过程中,也会用到各种开源项目。一开始没必要直接钻研源码,先要学习开源项目背景,能解决什么问题,开源作者的项目理念,使用了哪些技术等等。
这些清楚以后,可以找自己感兴趣的技术点或者模块去针对性的学习,千万不要想着一开始就想一网打尽式的学习,没有针对性意味着没有重点,没有重点很大概率就会白学或者学到的就会很少。
先推荐几个经典的开源项目供你参考:
如果你有自己比较看好的开源项目会更好,兴趣永远是前进的第一步。
相对前几年,Go语言的书籍、教程,各种文章都如雨后春笋一般越来越多,学习起来也更加方便,但是同时也要注意不要过度陷入知识碎片而无法自拔,最重要的还是要去系统去学习一下,针对性的练习、实践和应用。
我整理了一些Go语言的资料,如果你感兴趣的话,可以自己下载:
Go语言资料 提取码:8mg6
写在最后
实践出真知,带着问题去学习才能学的更快。无论学习什么,只有针对性的去学习并实践才能够快速成长。我们经常会听到有人说,看书或者学习要带着功利性质,它能为我们带来什么,只有目的明确才能够成长的更快。