前言
最近总有读者问我可以可以推荐一下go语言入门必读书籍。所以今天就推荐几本。因为笔者也没读过几本,所以就咨询了几位前辈,现在我就把这一份书单介绍给你们,从入门到进阶。
Go语言简介
GoGoGo
Go语言优势
- 脚本化的语法;开发效率高,容易上手
- 静态类型+编译型,程序运行速度有保障;静态类型+编译型语言相对于动态类型+解释型语言的效率高
- 原生的支持并发编程;降低开发、维护成本/程序可以更好的执行
- 对于云原生支持比较好,容器化,微服务化比较容易。
Go的缺点
- 它不支持泛型,即使有很多关于它的讨论。可能也在议程当中,期待那一天的到来。
- 使用这种编程语言分发的软件包非常有用,但Go在传统意义上并不是面向对象的。
- 缺少一些库,尤其是UI工具包。
Go原生应用
擅长领域
Go语言主要用途如下:
- 服务器编程,如处理日志、数据打包、虚拟机处理、文件系统等
- 分布式系统,数据库代理器等
- 网络编程,如Web应用、API应用、下载应用
- 内存数据库,如groupcache、couchbase的部分组建
- 云平台,目前国外很多云平台在采用Go开发,CloudFoundy的部分组建,前VMare的技术总监自己出来搞的apcera云平台。
入门书籍
- Go语言核心编程
GoGoGo
- Go语言程序设计
KerniganGoAlan DonovanGoGo
- Go语言编程
GoGo
- Go并发编程实战
GoGoGo
进阶书籍
- Go Web编程
这个是我读的第二本书,本书将教读者运用现代化设计理念构建Go Web应用的方法。阅读本书能让读者学会如何通过依赖注入设计模式来编写测试替身,如何在Web应用中使用并发特性,还有如何在Web服务中创建以及处理JSON数据和XML数据。除此之外,读者还将学会如何尽可能地减少应用对外部框架的依赖,并了解大量与应用测试以及应用部署有关的有价值的生产技术。
- Go语言编程之旅
这本书的作者是我们的煎鱼大佬,这本书是市面上少有的面向项目实践的一本书。这本书涵盖命令行应用、HTTP应用、RPC应用、WebSocket应用等常见项目,从做、学、排三个方向讲解,让我对项目实践有了更透彻的理解,特别是最后一章,排查和分析问题的总结,让我受益匪浅。
- Go语言高并发与微服务实战
GoGoJAVAGo
- Go语言圣经
很多大佬都推荐这一本书,但是我还是把它放在了最后,因为他真的不适合新手学习,里面的练习题真的难。所以一定要有一定经验了再去看这一本书,这本书确实是本好书,但不太适合非 C 系编程语言的人作为入门 Go 的首选。但是强烈推荐大家看一下这本书,不过不是刚入门的时候。
总结
上面这8本书,只是推荐阅读哈,并不是入门一定要看书哈,看视频也是一个不错的选择,B站入门视频就很多,可以白嫖~~~。
Go语言圣经
推荐往期文章: