本书从实践出发讲解Go语言的进阶知识。本书共6章,第1章简单回顾Go语言的发展历史;第2章和第3章系统地介绍CGO编程和Go汇编语言的用法;第4章对RPC和Protobuf技术进行深入介绍,并讲述如何打造一个自己的RPC系统;第5章介绍工业级环境的Web系统的设计和相关技术;第6章介绍Go语言在分布式领域的一些编程技术。书中还涉及CGO和汇编方面的知识,其中CGO能够帮助读者继承的软件遗产,而在深入学习Go运行时,汇编对于理解各种语法设计的底层实现是必不可少的知识。此外,本书还包含一些紧跟潮流的内容,介绍开源界流行的gRPC及其相关应用,讲述Go Web框架中的基本实现原理和大型Web项目中的技术要点,引导读者对Go语言进行更深入的应用。 本书适合对Go语言的应用已经有一些心得,并希望能够深入理解底层实现原理或者是希望能够在Web开发方面结合Go语言来实现进
本书基于Go语言源码提炼出Go特性的实现原理,并配以大量图表和实例以通俗易懂的语言描述出来,包括常见数据结构实现原理(包括chan、slice、map、struct等),常见控制结构实现原理(包括defer、select、range、mutex等),Go协程、内存管理、反射等机制,Go 工具链指导及原理(包括单元测试、性能测试、依赖管理等)。另外,本书还包括由实际项目Bug复盘而来的案例分享,包括定时器资源泄露、语法糖陷阱等。本书还包含大量练习题目,甚至可以作为面试题目来源。