Go专家编程(博文视点出品)

Go专家编程(博文视点出品)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2020-07
ISBN: 9787121365577
定价: 108.00
装帧: 其他
59人买过
  • 本书基于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失效
  • 内容简介:
    本书基于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失效
查看详情
12
相关图书 / 更多
Go专家编程(博文视点出品)
Go专家编程(第2版)
任洪彩
Go专家编程(博文视点出品)
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
[澳]阿米特·萨哈(Amit Saha)著 贾玉彬 刘光磊 译;上海碳泽信息科技有限公司 审校
Go专家编程(博文视点出品)
Go语言从入门到项目实战(视频版)
刘瑜 萧文翰 董树南 著
Go专家编程(博文视点出品)
Go语言从入门到项目实践(超值版)
余建熙
Go专家编程(博文视点出品)
Go语言学习指南:惯例模式与编程实践
乔恩·博德纳(Jon Bodner)
Go专家编程(博文视点出品)
Go语言程序设计-微课视频版
肖建良;赵文丽
Go专家编程(博文视点出品)
Go程序员面试笔试宝典
饶全成 欧长坤 楚秦等编著 猿媛之家 组编
Go专家编程(博文视点出品)
Go语言程序设计项目化教程(微课版)
谭旭;史律;钟祥永
Go专家编程(博文视点出品)
Go程序开发实战宝典
穆旭东 谭庆丰 楚秦 编著;猿媛之家 组编
Go专家编程(博文视点出品)
Go语言与区块链开发(计算机类普通高等教育双一流课程系列教材)
冯柳平、陈澜祯、袁贵春、卢婷婷 编
Go专家编程(博文视点出品)
Go语言Hyperledger区块链开发实战
李晓黎
Go专家编程(博文视点出品)
Go语言设计模式(双色版)
廖显东
您可能感兴趣 / 更多
Go专家编程(博文视点出品)
Go专家编程(第2版)
任洪彩