- ISBN:9787121452963
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:416
- 出版时间:2023-04-01
- 条形码:9787121452963 ; 978-7-121-45296-3
本书特色
适读人群 :Go语言程序员。作者为华为资深技术专家。第1版评分9.4分。本书适合程序员面试。
内容简介
本书深入地讲解了Go语言常见特性的内部机制和实现方式,大部分内容源自对Go源码的分析,并从中提炼出实现原理。通过阅读本书,读者可以快速、轻松地了解Go语言的内部运作机制。本书首先介绍常见数据结构及控制结构的实现原理,包括管道、切片、Hash表、select和for-range等,这部分内容大都以几个精心准备的测验题目开头,每个测验题目均对应一个知识点,读者借此可以测验自身对该知识点的掌握程度。接着介绍了Go语言*核心的概念,包括协程的概念、协程调度模型、协程调度策略,以及内存分配和垃圾回收相关的内容。本书还介绍了测试、泛型、依赖管理等比较实用的特性。*后结合笔者的见闻,整理了一些发生在真实项目中的编程陷阱。
目录
第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 实现原理
1.7 sync.Map
1.7.1 热身测验
1.7.2 特性速览
1.7.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.1.4 模糊测试
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 模糊测试的实现原理
7.3.7 Main测试的实现原理
7.3.8 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 快速开始
11.2 泛型总览
11.3 类型约束
11.4 泛型举例
11.4.1 泛型示例:MapKeys
11.4.2 泛型应用举例:Set
11.4.3 泛型应用举例:Sort
11.5 泛型小结
第12章 依赖管理
12.1 GOPATH
12.2 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失效
作者简介
任洪彩华为云原生开源团队成员,CNCF(云原生计算基金会)官方大使,Kubernetes、Karmada等项目的资深维护者。华为员工培训中心讲师,负责Go语言培训及软件工程能力建设。在Nokia、华为等公司参与过多个大型项目的研发与重构,对Go、C/C++、Python、Swift等语言均有深入的研究与实践。
-
大数据技术导论(第2版)
¥39.0¥41.0 -
机器学习
¥91.8¥108.0 -
微信小程序开发教程
¥37.7¥49.0 -
大模型应用开发极简入门 基于GPT-4和ChatGPT
¥41.9¥59.8 -
这就是ChatGPT
¥41.9¥59.8 -
Python编程从入门到实践(第3版)
¥76.9¥109.8 -
C程序设计(第五版)
¥34.5¥59.9 -
数据结构教程(第6版·微课视频·题库版)
¥56.3¥65.0 -
计算机组成原理实验指导与习题解析
¥34.8¥52.0 -
C程序设计(第五版)
¥22.1¥49.0 -
大数据丛书数据可视化(第2版)
¥163.2¥259.0 -
数据结构基础(C语言版)(第2版)
¥42.6¥49.0 -
工业互联网安全创新技术及应用
¥73.0¥128.0 -
AI办公助手 ChatGPT+Office智能办公从入门到实践 80集视频课
¥64.8¥79.8 -
计算机网络基础(微课版)
¥45.6¥55.0 -
零信任架构
¥68.6¥89.0 -
剪映:即梦AI绘画与视频制作从新手到高手
¥62.3¥89.0 -
红蓝攻防 技术与策略(原书第3版)
¥111.2¥139.0 -
RFID与智能卡技术实验指导书
¥29.4¥36.0 -
人工智能导论(第2版)
¥32.8¥39.8