Go语言核心编程 李文塔著 PDF下载

转载至:  https://www.jb51.net/books/696984.html

下载链接: 

下载声明:  本资料仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!

《Go语言核心编程》是一本系统介绍Go 语言编程的书籍。首先介绍Go 语言的基础知识,使读者对Go 语言有一个整体的认知。接着围绕Go 语言的三大语言特性:类型系统、接口和并发展开论述,《Go语言核心编程》不单单介绍每个语言特性怎么使用,在章节的最后还对重要语言特性的底层实现原理做了介绍。接着介绍反射这个高级语言特征。此外,《Go语言核心编程》专门用一章的篇幅来介绍Go 语言的陷阱。最后介绍Go 语言的工程实践和编程思想。相信《Go语言核心编程》能够帮助读者快速、深入地了解和学习这门语言。

《Go语言核心编程》适合各个层次的Go 语言开发者阅读,初学者可以系统地从头学习,有一定的编程经验者可以选择性地阅读本书。

第1章 基础知识
1.1 语言简介
1.1.1 Go语言的诞生背景
1.1.2 语言特性
1.1.3 Go语言的特性
1.1.4 总结
1.2 初识Go程序
1.3 Go词法单元
1.3.1 token
1.3.2 标识符
1.3.3 操作符(operators)和分隔符(delimiters)
1.3.4 字面常量
1.3.5 总结
1.4 变量和常量
1.4.1 变量
1.4.2 常量
1.5 基本数据类型
1.5.1 布尔类型
1.5.2 整型
1.5.3 浮点型
1.5.4 复数类型
1.5.5 字符串
1.5.6 rune类型
1.6 复合数据类型
1.6.1 指针
1.6.2 数组
1.6.3 切片
1.6.4 map
1.6.5 struct
1.7 控制结构
1.7.1 if语句
1.7.2 switch语句
1.7.3 for语句
1.7.4 标签和跳转
第2章 函数
2.1 基本概念
2.1.1 函数定义
2.1.2 多值返回
2.1.3 实参到形参的传递
2.1.4 不定参数
2.2 函数签名和匿名函数
2.2.1 函数签名
2.2.2 匿名函数
2.3 defer
2.4 闭包
2.4.1 概念
2.4.2 闭包的价值
2.5 panic和recover
2.5.1 基本概念
2.5.2 使用场景
2.6 错误处理
2.6.1 error
2.6.2 错误和异常
2.7 底层实现
2.7.1 函数调用规约
2.7.2 汇编基础
2.7.3 多值返回分析
2.7.4 闭包底层实现
第3章 类型系统
3.1 类型简介
3.1.1 命名类型和未命名类型
3.1.2 底层类型
3.1.3 类型相同和类型赋值
3.1.4 类型强制转换
3.2 类型方法
3.2.1 自定义类型
3.2.2 方法
3.3 方法调用
3.3.1 一般调用
3.3.2 方法值(method value)
3.3.3 方法表达式(method expression)
3.3.4 方法集(method set)
3.3.5 值调用和表达式调用的方法集
3.4 组合和方法集
3.4.1 组合
3.4.2 组合的方法集
3.5 函数类型
第4章 接口
4.1 基本概念
4.1.1 接口声明
4.1.2 接口初始化
4.1.3 接口方法调用
4.1.4 接口的动态类型和静态类型
4.2 接口运算
4.2.1 类型断言(Type Assertion)
4.2.2 类型查询(Type Switches)
4.2.3 接口优点和使用形式
4.3 空接口
4.3.1 基本概念
4.3.2 空接口的用途
4.3.3 空接口和nil
4.4 接口内部实现
4.4.1 数据结构
4.4.2 接口调用过程分析
4.4.3 接口调用代价
4.4.4 空接口数据结构
第5章 并发
5.1 并发基础
5.1.1 并发和并行
5.1.2 goroutine
5.1.3 chan
5.1.4 WaitGroup
5.1.5 select
5.1.6 扇入(Fan in)和扇出(Fan out)
5.1.7 通知退出机制
5.2 并发范式
5.2.1 生成器
5.2.2 管道
5.2.3 每个请求一个goroutine
5.2.4 固定worker工作池
5.2.5 future模式
5.3 context标准库
5.3.1 context的设计目的
5.3.2 基本数据结构
5.3.3 API函数
5.3.4 辅助函数
5.3.5 context的用法
5.3.6 使用context传递数据的争议
5.4 并发模型
5.4.1 CSP简介
5.4.2 调度模型
5.4.3 并发和调度
第6章 反射
6.1 基本概念
6.1.1 基本数据结构和入口函数
6.1.2 基础类型
6.1.3 类型汇总
6.2 反射规则
6.2.1 反射API
6.2.2 反射三定律
6.3 inject库
6.3.1 inject是什么
6.3.2 依赖注入和控制反转
6.3.3 inject实践
6.3.4 inject原理分析
6.4 反射的优缺点
6.4.1 反射的优点
6.4.2 反射的缺点
6.4.3 反射的最佳实践
第7章 语言陷阱
7.1 多值赋值和短变量声明
7.1.1 多值赋值
7.1.2 短变量的声明和赋值
7.2 range复用临时变量
7.3 defer陷阱
7.4 切片困惑
7.4.1 数组
7.4.2 切片
7.5 值、指针和引用
7.5.1 传值还是传引用
7.5.2 函数名的意义
7.5.3 引用语义
7.6 习惯用法
7.6.1 干净与强迫症
7.6.2 comma,ok表达式
7.6.3 简写模式
7.6.4 包中的函数或方法设计
7.6.5 多值返回函数
第8章 工程管理
8.1 编程环境
8.1.1 环境搭建
8.1.2 工程结构
8.1.3 交叉编译
8.2 命名空间和作用域
8.2.1 命名空间
8.2.2 作用域
8.2.3 变量覆盖
8.3 包的基本概念
8.3.1 基本概念
8.3.2 包引用
8.3.3 包加载
8.4 第三方包管理
8.4.1 vendor
8.4.2 dep
第9章 编程哲学
9.1 Go语言设计哲学
9.1.1 少即是多
9.1.2 世界是并行的
9.1.3 组合优于继承
9.1.4 非侵入式的接口
9.1.5 总结
9.2 Go语言发展史
9.2.1 站在巨人的肩膀上
9.2.2 里程碑
9.3 未来
9.3.1 争议
9.3.2 Go 2

打赏 支付宝打赏 微信打赏

如果文章对您有帮助,欢迎移至上方打赏按钮...

随手一点
  • 打酱油

    83人

  • 381人

  • 呵呵

    41人

  • 草泥马

    21人

文章评论 (3)


  1. 沙发 来自 sdfa 2020-07-21 23:21 回复 谢谢

  2. #2楼 来自 hh 2020-11-15 20:44 回复 学校go语言

  3. #3楼 来自 编程 2020-11-15 20:45 回复 学习者学习编程