如果你有一定的go语言的开发经验,那么下面推荐的基础入门篇你可以略过。这套书籍推荐由浅入深,由基础到深入,你可以参考。

基础入门

刚开始学习或还未入门Go语言,或者对于Go语言基础不太好的同学,这几本书会帮助到你。

如果想系统学习Go语言的基础知识,我强烈推荐一本书《Head First Go语言程序设计》

这本书主要内容包括语法基础、条件和循环、函数、包、数组、映射、结构、封装和嵌入、接口、故障恢复、共享、自动化测试、Web应用程序等。

另一本比较基础的书是七牛云存储团队写的。

该书出版比较早,以介绍Go语言特性为主,书中的示例大多采用的作者开发者团队平常的实践,内容涉及内存管理、错误处理、OOP、并发编程等。

另外,还有一本书《Go程序设计语言》这本书也不错,里面有很多应用实例,基础入门以后你可以选择这本书看下,然后跟着里面的实例实践一下,也会对你有很多帮助。


本书主要是从Web方面入门,介绍了如何处理Web各方面设计、数据库以及如何编写Go Web应用等相关知识,最后会有一个如何设计一个Web框架的的介绍。

Go语言进阶

这些书籍适合有一定基础或者经验的同学看。

本书主要从命令行应用、HTTP应用、RPC应用、WebSocket应用、进程内缓存和PProf应用等。

《Go并发编程实战》(第二版)

该书除基础知识法,后面阐述了多进程编程和多线程编程有关的知识,重点介绍了goroutine、channel以及Go提供的传统同步方法,并通过一个完整的网络爬虫实例来结尾。

本书适合对Go语言应用已经有一些心得并希望能够深入理解底层实现原理的同学学习。

本书主要讲解Go语言的进阶知识,书中涉及CGO编程和Go汇编方面知识,如何打造一个自己的RPC系统,以及工业级环境的Web系统的设计和相关设计。

如果你想学习Go语言的底层原理,你可以看一下《Go语言底层原理剖析》或者《Go语言设计与实现》

另外,还推荐一下郝大出的专栏《Go语言核心36讲》,里面讲解的内容超值。

相对前几年,Go语言的书籍、教程,各种文章都如雨后春笋一般越来越多,学习起来也更加方便,但是同时也要注意不要过度陷入知识碎片而无法自拔,最重要的还是要去系统去学习一下,针对性的练习、实践和应用。

我也整理了一些Go语言的资料,如果你感兴趣的话,可以自己下载:

Go语言资料 提取码:8mg6

除了整理的一些资料,也有几张Go语言学习线路图分享给你:

要想快速成长,还是得上手真实的项目,与更多的Go语言开发者进行交流和学习,如果你没有真实项目去开发,没关系,可以去学习好的开源项目。任何编程语言都离不开开源项目的学习,在我们项目开发过程中,也会用到各种开源项目库,插件来避免重复造轮子。

比如学习一些开源项目:

写在最后

实践出真知,带着问题去学习才能学的更快。无论学习什么,只有针对性的去学习并实践才能够快速成长。我们经常会听到有人说,看书或者学习要带着功利性质,它能为我们带来什么,只有目的明确才能够成长的更快。

我是@争渡,我是一名程序员,希望能帮到你。