Go语言编程之旅:一起用Go做项目
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

为什么要写这本书

数年前,公司开始尝试技术栈转型,而我恰好被抽调到新业务的突破组,负责Go相关技术的推进。但是当时网上并没有体系化、结构化的教材,因此我写了一些中文连载系列,希望借此将Go相关的知识分享给广大的Go语言爱好者。

近几年,随着学习Go语言人数的增加,Go语言相关的图书也越来越多,但依然没有相对完整的项目实践类的图书,因此我决定再次行动起来,希望将这一块的知识成体系地分享给大家。

读者对象

本书适合有一定Go语言基础的读者,以及相关开发人员阅读:

有一定Go语言基础的开发人员。

想要进行Go相关项目实践的开发人员。

希望熟悉Go常用分析工具的开发人员。

本书内容

全书共分为6章,分别是命令行应用、HTTP应用、RPC应用、WebSocket应用、进程内缓存和Go语言中的大杀器(分析工具),其中前5章是Go语言开发中最常见的项目类型。

本书对项目开发、细节分析、运行时分析等核心内容进行了较为深入的剖析,提供了相对完整的项目实践经验。在项目迭代过程中,难免会遇到问题,因此本书针对Go语言的大杀器(分析工具)及常见问题进行了全面讲解,帮助读者对各类问题进行排查。

本书的思维导图如下所示:

关于实践

本书的主要内容是面向项目实践,实践大体可以分为三个方向,分别是“做、学、排”,即做好你需要的项目、学习优秀的项目、排查和分析问题。

学习优秀的开源或私有项目可以帮助我们不断精进所负责的项目。既然是企业项目,那么在长期的迭代中一定会遇到或大或小的事故,因此知道如何排查和分析问题就显得非常重要。

同时这里有一个隐藏的方向,那就是归纳总结,即对所学的知识进行“复盘”,将思维聚拢并把知识归纳记录下来,这也是本书有很多“小结”的原因。

社区支持

我们建立了官方网站go-programming.cn和相应的知识星球对本书进行长期维护,也希望这个平台能够帮助读者进行思维拓展,认识更多志同道合的朋友。

另外,我们只是乐于分享的Go语言爱好者,技术水平有限,书中难免有错漏之处,敬请读者不吝赐教,我们将感激不尽。

致谢

感谢Go语言社区中的爱好者们,如果没有你们的鼓励,本书不可能出版。最后感谢为本书牺牲了大量业余时间进行“Review”的朋友们:

盛傲飞(aofei)

石太彬(shitaibin)

曾晓东(teroy)

陈剑煜

感谢我的家人一直以来对我的事业和爱好毫无怨言的支持!特别要感谢我的妻子,在我写作本书时,给予我无微不至的照顾,让我全身心地投入写作中。因为特殊时期,女儿们没在身边,感谢岳父岳母对她们无微不至的照顾!

徐新华