图书介绍

Go语言核心编程pdf电子书版本下载

Go语言核心编程
  • 李文塔著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121349119
  • 出版时间:2018
  • 标注页数:266页
  • 文件大小:34MB
  • 文件页数:281页
  • 主题词:程序语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
下载压缩包 [复制下载地址] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页

下载说明

Go语言核心编程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 基础知识 1

1.1 语言简介 1

1.1.1 Go语言的诞生背景 2

1.1.2 语言特性 2

1.1.3 Go语言的特性 4

1.1.4 总结 5

1.2 初识Go程序 5

1.3 Go词法单元 6

1.3.1 token 7

1.3.2 标识符 8

1.3.3 操作符(operators)和分隔符(delimiters) 12

1.3.4 字面常量 13

1.3.5 总结 15

1.4 变量和常量 16

1.4.1 变量 17

1.4.2 常量 18

1.5 基本数据类型 19

1.5.1 布尔类型 20

1.5.2 整型 21

1.5.3 浮点型 21

1.5.4 复数类型 21

1.5.5 字符串 22

1.5.6 rune类型 23

1.6 复合数据类型 23

1.6.1 指针 24

1.6.2 数组 25

1.6.3 切片 26

1.6.4 map 29

1.6.5 struct 31

1.7 控制结构 32

1.7.1 if语句 33

1.7.2 switch语句 34

1.7.3 for语句 36

1.7.4 标签和跳转 37

第2章 函数 40

2.1 基本概念 41

2.1.1 函数定义 41

2.1.2 多值返回 42

2.1.3 实参到形参的传递 43

2.1.4 不定参数 43

2.2 函数签名和匿名函数 45

2.2.1 函数签名 45

2.2.2 匿名函数 47

2.3 defer 48

2.4 闭包 52

2.4.1 概念 52

2.4.2 闭包的价值 56

2.5 panic和recover 56

2.5.1 基本概念 56

2.5.2 使用场景 59

2.6 错误处理 60

2.6.1 error 60

2.6.2 错误和异常 61

2.7 底层实现 63

2.7.1 函数调用规约 63

2.7.2 汇编基础 63

2.7.3 多值返回分析 64

2.7.4 闭包底层实现 68

第3章 类型系统 72

3.1 类型简介 73

3.1.1 命名类型和未命名类型 73

3.1.2 底层类型 75

3.1.3 类型相同和类型赋值 75

3.1.4 类型强制转换 78

3.2 类型方法 80

3.2.1 自定义类型 80

3.2.2 方法 84

3.3 方法调用 87

3.3.1 一般调用 87

3.3.2 方法值(method value) 88

3.3.3 方法表达式(method expression) 89

3.3.4 方法集(method set) 90

3.3.5 值调用和表达式调用的方法集 92

3.4 组合和方法集 94

3.4.1 组合 94

3.4.2 组合的方法集 99

3.5 函数类型 101

第4章 接口 105

4.1 基本概念 106

4.1.1 接口声明 106

4.1.2 接口初始化 107

4.1.3 接口方法调用 108

4.1.4 接口的动态类型和静态类型 109

4.2 接口运算 110

4.2.1 类型断言(Type Assertion) 110

4.2.2 类型查询(Type Switches) 114

4.2.3 接口优点和使用形式 117

4.3 空接口 118

4.3.1 基本概念 118

4.3.2 空接口的用途 118

4.3.3 空接口和nil 118

4.4 接口内部实现 120

4.4.1 数据结构 120

4.4.2 接口调用过程分析 123

4.4.3 接口调用代价 128

4.4.4 空接口数据结构 131

第5章 并发 133

5.1 并发基础 133

5.1.1 并发和并行 133

5.1.2 goroutine 134

5.1.3 chan 137

5.1.4 WaitGroup 140

5.1.5 select 142

5.1.6 扇入(Fan in)和扇出(Fan out) 143

5.1.7 通知退出机制 143

5.2 并发范式 145

5.2.1 生成器 145

5.2.2 管道 150

5.2.3 每个请求一个goroutine 151

5.2.4 固定worker工作池 157

5.2.5 future模式 162

5.3 context标准库 164

5.3.1 context的设计目的 165

5.3.2 基本数据结构 165

5.3.3 API函数 170

5.3.4 辅助函数 171

5.3.5 context的用法 173

5.3.6 使用context传递数据的争议 179

5.4 并发模型 179

5.4.1 CSP简介 179

5.4.2 调度模型 180

5.4.3 并发和调度 181

第6章 反射 185

6.1 基本概念 186

6.1.1 基本数据结构和入口函数 186

6.1.2 基础类型 196

6.1.3 类型汇总 198

6.2 反射规则 200

6.2.1 反射API 200

6.2.2 反射三定律 203

6.3 inject库 204

6.3.1 inject是什么 204

6.3.2 依赖注入和控制反转 204

6.3.3 inject实践 205

6.3.4 inject原理分析 207

6.4 反射的优缺点 211

6.4.1 反射的优点 211

6.4.2 反射的缺点 211

6.4.3 反射的最佳实践 211

第7章 语言陷阱 212

7.1 多值赋值和短变量声明 212

7.1.1 多值赋值 212

7.1.2 短变量的声明和赋值 216

7.2 range复用临时变量 219

7.3 defer陷阱 222

7.4 切片困惑 226

7.4.1 数组 226

7.4.2 切片 229

7.5 值、指针和引用 234

7.5.1 传值还是传引用 234

7.5.2 函数名的意义 237

7.5.3 引用语义 237

7.6 习惯用法 238

7.6.1 干净与强迫症 238

7.6.2 comma,ok表达式 239

7.6.3 简写模式 240

7.6.4 包中的函数或方法设计 241

7.6.5 多值返回函数 242

第8章 工程管理 243

8.1 编程环境 243

8.1.1 环境搭建 243

8.1.2 工程结构 245

8.1.3 交叉编译 248

8.2 命名空间和作用域 250

8.2.1 命名空间 250

8.2.2 作用域 250

8.2.3 变量覆盖 251

8.3 包的基本概念 251

8.3.1 基本概念 251

8.3.2 包引用 252

8.3.3 包加载 254

8.4 第三方包管理 255

8.4.1 vendor 255

8.4.2 dep 256

第9章 编程哲学 261

9.1 Go语言设计哲学 261

9.1.1 少即是多 261

9.1.2 世界是并行的 262

9.1.3 组合优于继承 262

9.1.4 非侵入式的接口 262

9.1.5 总结 263

9.2 Go语言发展史 264

9.2.1 站在巨人的肩膀上 264

9.2.2 里程碑 264

9.3 未来 266

9.3.1 争议 266

9.3.2 Go 2 266

精品推荐