Go Programming Blueprints
294 页
Chinese
PDF
4.5

Go Programming Blueprints

Go Programming Blueprints

作者:

年份:

简介:

引言

Mat Ryer 所著的《Go Programming Blueprints》(第二版,2016 年)并非又一本讲解 Go 语言语法的教科书,而是一本关于构建真实、可投入生产环境的应用的实践指南。与许多仅局限于“Hello, World”之类简单示例的书籍不同,本书直接引导读者投入完整项目的开发:从聊天机器人和 REST API,到分布式系统和命令行工具。本书面向那些已熟悉 Go 基础知识,并希望转向专业开发的读者。

本书内容

本书共 10 章,每章专注于创建一个完整的项目。作者循序渐进地引导读者经历从架构设计到部署的所有阶段。特别关注实践方面:数据库操作、WebSocket 创建、身份验证、测试和性能优化。所有项目仅使用 Go 标准库和少数经过验证的第三方包,这使得代码尽可能透明且可移植。

适合人群

本书对以下人群有益:

  • 已掌握 Go 基础知识并希望学习如何创建可扩展 Web 服务的开发者;
  • 使用其他语言(Python、Java、C#)的程序员,希望快速转向 Go 并在实际任务中看到其优势;
  • 希望用非平凡项目构建作品集的学生和爱好者;
  • 寻找在 Go 上构建微服务架构灵感的团队领导和架构师。

读者将学到什么

研读本书后,读者将学会:

  • 使用标准包 net/http 设计和实现 RESTful API;
  • 基于 WebSocket 创建实时聊天应用;
  • 通过 Go 驱动程序操作数据库(MongoDB、PostgreSQL);
  • 实现身份验证和授权(OAuth2、JWT);
  • 使用 goroutine 和 channel 编写多线程程序;
  • 构建数据处理管道和任务队列;
  • 开发具有丰富界面的 CLI 工具;
  • 编写测试(单元测试、集成测试)并进行基准测试;
  • 在 Docker 容器和云平台上部署应用;
  • 使用 Go 特有的设计模式(例如中间件、扇入/扇出)。

优势亮点

本书的主要优点在于其实践导向。每一章都是一个完整的项目,可以立即运行和使用。作者不仅提供代码,还解释为何选择某个解决方案、存在哪些替代方案以及它们在何种情况下更优。本书语言生动易懂,示例附有详细注释。特别值得一提的是,所有项目都使用了出版时最新版本的 Go 和库,这使得它们至今仍然适用(略有保留)。

另一个优点是对架构的强调。Mat Ryer 不仅教人编写代码,还教人以模块化、可测试性和可扩展性的思维方式思考。读者将了解如何组织代码以便于维护和扩展。本书还涉及安全性和性能问题,这在教材中很少见。

最后,本书包含许多在日常工作中会派上用场的技巧和诀窍:错误处理、日志记录、配置管理、优雅关闭等。

推荐对象

《Go Programming Blueprints》是所有希望从 Go 理论转向实践的读者的必读之作。无论是对刚入门的 Go 开发者(前提是熟悉基础知识),还是希望扩展工具集的经验丰富的工程师,本书都大有裨益。我特别推荐给那些

推荐