计算机
类型
可以朗读
语音朗读
395千字
字数
2024-07-01
发行日期
展开全部
主编推荐语
详尽讲解Go语言的基本语法和核心概念。
内容简介
本书首先介绍Go语言的基本概念,并通过“hello world”程序引导读者熟悉Go的工具链。接下来逐步深入,介绍面向包的设计、测试框架、错误与异常处理等内容。第8章开始探讨指针和内存逃逸分析,这对于理解Go语言的内存模型至关重要。随后的章节涉及数据结构、面向对象和接口编程等核心知识。
从第15章开始,重点转向并发编程,从基本的并发模式到复杂的并发原理,再到内存管理和垃圾回收等高级主题。最后几章关注实际开发中的问题,如使用标准库和第三方库、性能问题分析与追踪,以及重构“hello world”示例代码。
目录
- 版权信息
- 内容提要
- 前言
- 资源与支持
- 第1章 Go语言初探
- 1.1 Go语言的发展里程碑
- 1.2 云时代Go语言的发展趋势
- 1.3 Go语言优秀的语言特性
- 1.4 强大的生态圈和成功案例
- 1.5 Go程序是如何运行的
- 1.6 plan9与Go语言
- 第2章 “hello world”与工具链
- 2.1 Go语言的安装和配置
- 2.2 第一个程序“hello world”
- 2.3 Go语言的工具链命令
- 第3章 Go语言的基础知识
- 3.1 Go语言的常用规范
- 3.2 数据类型
- 3.3 变量的本质
- 3.4 常量
- 3.5 运算符
- 3.6 结构化语法
- 3.7 类型转换
- 3.8 Go语言的语法糖
- 第4章 面向包的设计与依赖管理
- 4.1 包的使用
- 4.2 面向包的设计
- 4.3 包管理工具Go Module
- 第5章 测试框架
- 5.1 Go语言中的测试框架
- 5.2 单元测试
- 5.3 测试代码的覆盖率
- 5.4 断言
- 5.5 基准测试
- 5.6 与网络有关的模拟测试
- 5.7 与测试有关的第三方工具
- 第6章 错误与异常处理
- 6.1 error的引入
- 6.2 异常处理
- 6.3 面向错误和恢复的设计
- 6.4 带堆栈信息的error
- 6.5 标准库errors的改进
- 6.6 errGroup对象
- 6.7 日志系统的引入
- 第7章 编码与字符串
- 7.1 字符编码
- 7.2 字符串
- 7.3 字符串与基本类型互转
- 第8章 指针与内存逃逸分析
- 8.1 活动帧的作用
- 8.2 值语义的本质
- 8.3 指针
- 8.4 内存逃逸分析
- 8.5 引用类型与深、浅拷贝
- 第9章 数据结构
- 9.1 面向数据的设计
- 9.2 数组
- 9.3 切片
- 9.4 映射
- 9.5 数据结构中的常见问题
- 第10章 结构体与内存对齐
- 10.1 结构体
- 10.2 序列化与反序列化
- 10.3 unsafe包
- 10.4 内存对齐
- 第11章 函数
- 11.1 认识函数
- 11.2 defer函数
- 11.3 作为数据类型的函数
- 11.4 函数类型的使用场景
- 11.5 函数的别名
- 第12章 面向“对象”编程
- 12.1 封装
- 12.2 继承
- 12.3 多态
- 第13章 面向接口编程
- 13.1 接口编程哲学
- 13.2 接口与组合
- 13.3 接口的剖析
- 13.4 接口的设计原则
- 13.5 检查接口的实现
- 13.6 空接口与类型断言
- 13.7 接口值的比较
- 13.8 检查运行阶段的接口类型
- 第14章 反射
- 14.1 反射的概念
- 14.2 接口与反射
- 14.3 反射包介绍
- 14.4 反射包的使用示例
- 14.5 反射的三个定律
- 14.6 反射的应用场景
- 14.7 反射的性能
- 第15章 并发编程
- 15.1 感受并发的魅力
- 15.2 sync.WaitGroup
- 15.3 数据竞争问题
- 15.4 传统的锁
- 15.5 原子操作介绍
- 第16章 并发与通道
- 16.1 通道的行为
- 16.2 创建通道
- 16.3 通道的特性
- 16.4 通道的其他特性
- 16.5 通道的使用建议
- 16.6 select机制
- 16.7 通道的模式
- 第17章 其他并发技术
- 17.1 context包
- 17.2 sync.Cond
- 17.3 sync.Once
- 17.4 sync.Map
- 17.5 sync.Pool
- 17.6 实现对象池
- 17.7 常用连接池
- 17.8 并发技术选型
- 第18章 并发原理
- 18.1 怎样让程序跑得更快
- 18.2 Go语言中的协程
- 18.3 GPM调度流程
- 18.4 监控线程sysmon
- 18.5 main函数与协程的执行顺序
- 18.6 可视化分析GPM调度
- 18.7 深入探索通道
- 第19章 内存管理
- 19.1 runtime
- 19.2 内存分配模型
- 19.3 内存管理单元
- 19.4 对象分类及分配策略
- 19.5 堆内存分配总结
- 第20章 垃圾回收
- 20.1 垃圾回收算法
- 20.2 Go语言的垃圾回收算法
- 20.3 触发垃圾回收的时机
- 20.4 查看运行时的垃圾回收信息
- 20.5 垃圾回收优化示例
- 第21章 使用标准库和第三方库
- 21.1 I/O操作
- 21.2 网络操作
- 21.3 与时间有关的标准库
- 21.4 随机数
- 21.5 正则表达式
- 21.6 flag包的使用
- 21.7 os包的使用
- 21.8 crypto包
- 21.9 base64编码
- 21.10 fmt包
- 21.11 使用第三方库
- 第22章 性能问题分析与追踪
- 22.1 性能优化概述
- 22.2 性能优化的步骤
- 22.3 硬件与软件的性能指标
- 22.4 优化工具概述
- 22.5 性能优化总结
- 22.6 使用go tool pprof工具进行性能分析的示例
- 22.7 pprof包结合HTTP服务使用的示例
- 22.8 pprof包和fgprof包的使用对比
- 22.9 go tool trace工具的使用示例
- 22.10 持续性能分析
- 22.11 性能问题的定位及处理建议
- 第23章 重构“hello world”
- 23.1 搭建业务处理框架
- 23.2 设计解耦的读写接口
- 23.3 业务实现
- 23.4 构建HTTP服务发布数据
- 23.5 整合Prometheus发布数据
- 23.6 代码细节的提升
- 23.7 总结
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。