商品详情
书名:Go专家编程
定价:108.0
ISBN:9787121365577
作者:任洪彩
版次:第1版
出版时间:2020-07
内容提要:
本书基于Go语言源码提炼出Go特性的实现原理,并配以大量图表和实例以通俗易懂的语言描述出来,包括常见数据结构实现原理(包括chan、slice、map、struct等),常见控制结构实现原理(包括defer、select、range、mutex等),Go协程、内存管理、反射等机制,Go 工具链指导及原理(包括单元测试、性能测试、依赖管理等)。另外,本书还包括由实际项目Bug复盘而来的案例分享,包括定时器资源泄露、语法糖陷阱等。本书还包含大量练习题目,甚至可以作为面试题目来源。
作者简介:
华为云原生团队核心成员,开源爱好者,深度参与CNCF(云原生计算基金会)旗下Kubernetes、Prometheus等项目贡献,Kubernetes资深成员,担任Kubernetes SIG-Instrumentation Approver,敏捷软件思想深度实践者,在Nokia、华为等公司参与过多个大型项目的研发与重构,对Go、C/C++、Python、Swift等语言均有深入的研究与实践。
目录:
目录
第1章 常见数据结构的实现原理
1.1 管道
1.1.1 热身测验
1.1.2 特性速览
1.1.3 实现原理
1.2 slice
1.2.1 热身测验
1.2.2 特性速览
1.2.3 实现原理
1.2.4 切片表达式
1.3 map
1.3.1 热身测验
1.3.2 特性速览
1.3.3 实现原理
1.4 struct
1.4.1 热身测验
1.4.2 内嵌字段
1.4.3 方法受体
1.4.4 字段标签
1.5 iota
1.5.1 热身测验
1.5.2 特性速览
1.5.3 实现原理
1.6 string
1.6.1 热身测验
1.6.2 特性速览
1.6.3 实现原理
第2章 控制结构
2.1 select
2.1.1 热身测验
2.1.2 特性速览
2.1.3 实现原理
2.2 for-range
2.2.1 热身测验
2.2.2 特性速览
2.2.3 实现原理
第3章 协程
3.1 协程的概念
3.2 调度模型
3.3 调度策略
第4章 内存管理
4.1 内存分配
4.2 垃圾回收
4.3 逃逸分析
第5章 并发控制
5.1 channel
5.2 WaitGroup
5.3 context
5.4 Mutex
5.5 RWMutex
5.5.1 读写锁的数据结构
5.5.2 场景分析
第6章 反射
6.1 热身测验
6.2 接口
6.3 反射定律
第7章 测试
7.1 快速开始
7.1.1 单元测试
7.1.2 基准测试
7.1.3 示例测试
7.2 进阶测试
7.2.1 子测试
7.2.2 Main测试
7.3 实现原理
7.3.1 testing.common
7.3.2 testing.TB接口
7.3.3 单元测试的实现原理
7.3.4 性能测试的实现原理
7.3.5 示例测试的实现原理
7.3.6 Main测试的实现原理
7.3.7 go test的工作机制
7.4 扩展阅读
7.4.1 测试参数
7.4.2 benchstat
第8章 异常处理
8.1 error
8.1.1 热身测验
8.1.2 基础error
8.1.3 链式error
8.1.4 工程迁移
8.2 defer
8.2.1 热身测验
8.2.2 约法三章
8.2.3 实现原理
8.2.4 性能优化
8.3 panic
8.3.1 热身测验
8.3.2 工作机制
8.3.3 源码剖析
8.4 recover
8.4.1 热身测验
8.4.2 工作机制
8.4.3 源码剖析
第9章 定时器
9.1 一次性定时器(Timer)
9.1.1 快速开始
9.1.2 实现原理
9.2 周期性定时器(Ticker)
9.2.1 快速开始
9.2.2 实现原理
9.3 runtimeTimer
9.3.1 实现原理
9.3.2 性能优化
9.4 案例分享
第10章 语法糖
10.1 简短变量声明符
10.1.1 热身测验
10.1.2 规则
10.2 可变参函数
第11章 版本管理
11.1 安装Go
11.2 删除Go
11.3 升级Go
11.4 Go版本管理器
11.4.1 快速开始
11.4.2 工作机制
11.4.3 小结
11.5 源码编译
11.5.1 源码下载
11.5.2 源码编译过程
第12章 Go语言依赖管理
12.1 GOPATH
12.1.1 GOROOT是什么
12.1.2 GOPATH是什么
12.1.3 依赖查找
12.1.4 GOPATH的缺点
12.2 vendor
12.2.1 vendor目录位置
12.2.2 搜索顺序
12.2.3 vendor的不足
12.3 Go Module
12.3.1 Go Module基础
12.3.2 快速实践
12.3.3 replace指令
12.3.4 exclude指令
12.3.5 indirect指令
12.3.6 版本选择机制
12.3.7 incompatible
12.3.8 伪版本
12.3.9 依赖包存储
12.3.10 go.sum
12.3.11 模块代理
12.3.12 GOSUMDB的工作机制
12.3.13 GOSUMDB的实现原理
12.3.14 第三方代理
12.3.15 私有模块
12.3.16 Go Module的演进
第13章 编程陷阱
13.1 切片扩容
13.2 空切片
13.3 append的本质
13.4 循环变量引用
13.5 协程引用循环变量
13.6 recover失效
定价:108.0
ISBN:9787121365577
作者:任洪彩
版次:第1版
出版时间:2020-07
内容提要:
本书基于Go语言源码提炼出Go特性的实现原理,并配以大量图表和实例以通俗易懂的语言描述出来,包括常见数据结构实现原理(包括chan、slice、map、struct等),常见控制结构实现原理(包括defer、select、range、mutex等),Go协程、内存管理、反射等机制,Go 工具链指导及原理(包括单元测试、性能测试、依赖管理等)。另外,本书还包括由实际项目Bug复盘而来的案例分享,包括定时器资源泄露、语法糖陷阱等。本书还包含大量练习题目,甚至可以作为面试题目来源。
作者简介:
华为云原生团队核心成员,开源爱好者,深度参与CNCF(云原生计算基金会)旗下Kubernetes、Prometheus等项目贡献,Kubernetes资深成员,担任Kubernetes SIG-Instrumentation Approver,敏捷软件思想深度实践者,在Nokia、华为等公司参与过多个大型项目的研发与重构,对Go、C/C++、Python、Swift等语言均有深入的研究与实践。
目录:
目录
第1章 常见数据结构的实现原理
1.1 管道
1.1.1 热身测验
1.1.2 特性速览
1.1.3 实现原理
1.2 slice
1.2.1 热身测验
1.2.2 特性速览
1.2.3 实现原理
1.2.4 切片表达式
1.3 map
1.3.1 热身测验
1.3.2 特性速览
1.3.3 实现原理
1.4 struct
1.4.1 热身测验
1.4.2 内嵌字段
1.4.3 方法受体
1.4.4 字段标签
1.5 iota
1.5.1 热身测验
1.5.2 特性速览
1.5.3 实现原理
1.6 string
1.6.1 热身测验
1.6.2 特性速览
1.6.3 实现原理
第2章 控制结构
2.1 select
2.1.1 热身测验
2.1.2 特性速览
2.1.3 实现原理
2.2 for-range
2.2.1 热身测验
2.2.2 特性速览
2.2.3 实现原理
第3章 协程
3.1 协程的概念
3.2 调度模型
3.3 调度策略
第4章 内存管理
4.1 内存分配
4.2 垃圾回收
4.3 逃逸分析
第5章 并发控制
5.1 channel
5.2 WaitGroup
5.3 context
5.4 Mutex
5.5 RWMutex
5.5.1 读写锁的数据结构
5.5.2 场景分析
第6章 反射
6.1 热身测验
6.2 接口
6.3 反射定律
第7章 测试
7.1 快速开始
7.1.1 单元测试
7.1.2 基准测试
7.1.3 示例测试
7.2 进阶测试
7.2.1 子测试
7.2.2 Main测试
7.3 实现原理
7.3.1 testing.common
7.3.2 testing.TB接口
7.3.3 单元测试的实现原理
7.3.4 性能测试的实现原理
7.3.5 示例测试的实现原理
7.3.6 Main测试的实现原理
7.3.7 go test的工作机制
7.4 扩展阅读
7.4.1 测试参数
7.4.2 benchstat
第8章 异常处理
8.1 error
8.1.1 热身测验
8.1.2 基础error
8.1.3 链式error
8.1.4 工程迁移
8.2 defer
8.2.1 热身测验
8.2.2 约法三章
8.2.3 实现原理
8.2.4 性能优化
8.3 panic
8.3.1 热身测验
8.3.2 工作机制
8.3.3 源码剖析
8.4 recover
8.4.1 热身测验
8.4.2 工作机制
8.4.3 源码剖析
第9章 定时器
9.1 一次性定时器(Timer)
9.1.1 快速开始
9.1.2 实现原理
9.2 周期性定时器(Ticker)
9.2.1 快速开始
9.2.2 实现原理
9.3 runtimeTimer
9.3.1 实现原理
9.3.2 性能优化
9.4 案例分享
第10章 语法糖
10.1 简短变量声明符
10.1.1 热身测验
10.1.2 规则
10.2 可变参函数
第11章 版本管理
11.1 安装Go
11.2 删除Go
11.3 升级Go
11.4 Go版本管理器
11.4.1 快速开始
11.4.2 工作机制
11.4.3 小结
11.5 源码编译
11.5.1 源码下载
11.5.2 源码编译过程
第12章 Go语言依赖管理
12.1 GOPATH
12.1.1 GOROOT是什么
12.1.2 GOPATH是什么
12.1.3 依赖查找
12.1.4 GOPATH的缺点
12.2 vendor
12.2.1 vendor目录位置
12.2.2 搜索顺序
12.2.3 vendor的不足
12.3 Go Module
12.3.1 Go Module基础
12.3.2 快速实践
12.3.3 replace指令
12.3.4 exclude指令
12.3.5 indirect指令
12.3.6 版本选择机制
12.3.7 incompatible
12.3.8 伪版本
12.3.9 依赖包存储
12.3.10 go.sum
12.3.11 模块代理
12.3.12 GOSUMDB的工作机制
12.3.13 GOSUMDB的实现原理
12.3.14 第三方代理
12.3.15 私有模块
12.3.16 Go Module的演进
第13章 编程陷阱
13.1 切片扩容
13.2 空切片
13.3 append的本质
13.4 循环变量引用
13.5 协程引用循环变量
13.6 recover失效
- 电子工业出版社有限公司
- 电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
- 扫描二维码,访问我们的微信店铺