100个Go语言典型错误
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

关于本书

本书包含了开发人员在使用Go语言的各个方面时经常犯的100个典型错误。它侧重于语言核心和标准库,而非外部库或框架。对大多数错误的讨论都提供了具体的示例,以说明什么时候容易犯这样的错误。这不是一本教条主义的图书:每个解决方案都详细地传达了其适用的上下文。

本书的读者对象

这本书适合具备 Go 语言基础知识的开发人员阅读。本书不会回顾语法或关键字等基本概念。理想情况下,读者最好已经在工作中或家中参与了一个现成的Go 项目。但在深入探讨大多数主题之前,我们会确保基础知识已介绍清楚。

本书的组织结构:路线图

本书分为12章,每章涵盖不同类型的Go语言错误,并讨论了如何避免这些错误。以下是本书的章节简介。

■ 第1章介绍了尽管Go被认为是一门简单的语言,但为什么它并不容易掌握。本章还展示了本书所涵盖的不同类型的错误。

■ 第2章包含了我们未能以干净、地道和可维护的方式组织代码库时可能发生的常见错误。

■ 第3章讨论了与基本类型、切片和map相关的错误。

■ 第4章探讨了与循环和其他控制结构相关的常见错误。

■ 第5章研究了字符串的表示方式及导致代码不准确或效率低下的常见错误。

■ 第6章探讨了与函数和方法相关的常见问题,例如,选择接收器类型和防止常见的defer错误。

■ 第7章介绍了Go语言中地道的、准确的错误处理方式。

■ 第8章介绍了并发的基本概念。这一章讨论了诸如并发并不总是更快、并发和并行之间的区别及工作负载类型等主题。

■ 第9章聚焦于使用channel、goroutine和其他基本类型实现并发时涉及的具体错误示例。

■ 第10章介绍了在使用HTTP、JSON或(例如)time API时发生的常见错误。

■ 第11章讨论了常见测试和基准测试中的更加脆弱、不太有效和不太准确的错误。

■ 第12章从理解CPU基础知识到Go语言特定主题,探讨了如何优化应用程序来追求高性能。

关于代码

本书中包含许多源代码示例,包括有编号的代码段和普通文本中的行内代码。在这两种情况下,源代码使用等宽字体进行格式化,以区别于普通文本。有时代码也会用粗体来突出显示,例如,当将一个新功能添加到现有代码行中时。

在许多情况下,已经对源代码进行了重新格式化;我们添加了换行符并重新调整了缩进,以适应本书的页面空间。在某些情况下,即使这样做还不够,在代码段中包含了(➥)。此外,在文本中描述代码时,源代码中的注释通常已从代码段中删除。代码段中的注释用于突出重要概念。

你可以在本书的liveBook(在线)版本中获取可执行的代码片段,网址参见链接1。[1]本书示例的完整代码可从Manning网站(参见链接2)和GitHub网站(参见链接3)下载。

本书论坛

购买本书即可免费访问liveBook(Manning的在线阅读平台)。使用liveBook的独家讨论功能,你可以将评论附加到本书特定的部分或段落。可为自己做笔记、提出和回答技术问题、从作者和其他用户那里轻松获得帮助,要访问论坛,请访问链接4所示的网址。你还可以通过链接5所示的网址了解更多有关Manning论坛和行为准则的信息。

Manning 对读者的承诺是提供一个有意义的场所,让读者之间和读者与作者之间进行有意义的对话。这并不是对作者的参与程度的承诺,作者是否参与论坛事务仍然由作者自己决定(并且未付费)。我们建议你尝试问作者一些具有挑战性的问题,以激起他的兴趣。论坛和以前的讨论档案可在出版物存续期间从出版商的网站上访问。

读者服务

微信扫码回复:46913

■ 获取本书配套资源

■ 加入本书读者交流群,与更多同道中人互动

■ 获取[百场业界大咖直播合集](持续更新),仅需1元


[1] 书中提到的参考链接可扫描本前言最后“读者服务”处的二维码获取。