内容简介
Go入门容易,精进难,如何才能像Go开发团队那样写出符合Go思维和语言惯例的高质量代码呢?本书将从编程思维和实践技巧2个维度给出答案,帮助你在Go进阶的路上事半功倍。编程思维层面:只有真正领悟了一门语言的设计哲学和编程思维,并能将之用于实践,才算精通了这门语言。本书从Go语言设计者的视角对Go背后的设计哲学和编程思想进行了梳理和分析,指引读者体会那些看似随意实则经过深思熟虑的设计背后的秘密。实践技巧层面:实践技巧源于对Go开发团队和Go社区开发的高质量代码的阅读、挖掘和归纳,从项目结构、代码风格、语法及其实现、接口、并发、同步、错误与异常处理、测试与调试、性能优化、标准库、第三方库、工具链、最佳实践、工程实践等多个方面给出了改善Go代码质量、写出符合Go思维和惯例的代码的有效实践。学完这本书,你将拥有和Go专家一样的编程思维,写出符合Go惯例和风格的高质量代码,从众多Go初学者中脱颖而出,快速实现从Go新手到专家的转变!
AI简介
这是一本从编程思维和实践技巧两个维度,深入讲解Go语言编程的书籍。本书不仅提供了Go语言设计者的视角,对Go背后的设计哲学和编程思想进行了梳理和分析,指引读者体会那些看似随意实则经过深思熟虑的设计背后的秘密,同时也提供了大量实践技巧,帮助读者提升Go代码质量、写出符合Go思维和惯例的代码。
本书深入探讨了Go语言测试原生支持,包括包内测试与包外测试的差别,以及如何有层次地组织测试代码。同时,本书也介绍了表驱动测试的定义和实践,这种测试设计方法将测试逻辑与测试数据分离,使得测试代码更简单、紧凑,易于理解和维护。此外,本书还深入探讨了模糊测试的定义和起源,以及如何使用go-fuzz工具为被测代码建立起模糊测试。
在性能优化方面,本书详细介绍了过早优化的风险和问题,以及如何通过为被测对象建立性能基准的方式,判断对代码所做的任何更改是否对代码性能有所影响。同时,本书也介绍了如何使用pprof工具对Go应用进行性能剖析,以及如何通过Delve调试器对Go代码进行调试。
在标准库、反射与cgo方面,本书详细介绍了Go TCP Socket网络编程模型,如何使用net/http包实现安全通信,