当前位置:首页 > 工业技术
Go语言程序设计
Go语言程序设计

Go语言程序设计PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:王鹏编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302347231
  • 页数:351 页
图书介绍:本书主要内容包括数据类型、控制结构、数组切片和字典、函数、结构体和方法、接口、并发程序设计、网络编程等。
《Go语言程序设计》目录

第1章 Go语言概述 1

1.1 Go语言简介 1

1.1.1 Go语言发展历史 1

1.1.2 Go语言的特点 1

1.2 Go的下载和安装 3

1.2.1 源码安装 3

1.2.2 标准包安装 4

1.2.3 第三方工具安装 10

1.3 Go基本命令及使用 11

1.3.1 Go常用命令 11

1.3.2 Go文档查看命令 12

1.3.3 其他命令 12

1.4 Go集成开发工具 13

1.4.1 LiteIDE 13

1.4.2 SublimeText 2 14

1.5 Go程序结构和设计过程 20

1.5.1 Go程序结构 20

1.5.2 Go程序设计过程 22

1.5.3 Go源程序语法要点 23

1.5.4 Go的注释方式 23

小结 24

习题 25

第2章 Go数据类型、运算符与表达式 26

2.1 常量、变量与命名规则 26

2.1.1 常量 26

2.1.2 变量 27

2.1.3 标识符与命名规则 28

2.2 基本数据类型 29

2.2.1 布尔型数据 29

2.2.2 整型数据 30

2.2.3 浮点型数据 32

2.2.4 复数 34

2.2.5 字节型数据 35

2.2.6 rune类型 36

2.2.7 uintptr类型 37

2.3 运算符与表达式 39

2.3.1 赋值运算符 39

2.3.2 算术运算符 40

2.3.3 关系运算符 41

2.3.4 逻辑运算符 42

2.3.5 位运算符 43

2.3.6 通道运算符 44

2.3.7 运算符的优先级和结合性 44

2.4 字符串 45

2.4.1 字符串定义 45

2.4.2 字符串操作 46

2.4.3 字符串遍历 47

2.5 常量的初始化规则 48

2.5.1 常量的类型 48

2.5.2 常量定义方法 49

2.5.3 常量的初始化规则 50

2.6 枚举 53

2.6.1 枚举类型的定义 53

2.6.2 iota使用规则 54

2.6.3 iota应用举例 54

2.7 变量的定义与声明 56

2.7.1 变量的类型 56

2.7.2 变量的类型零值 56

2.7.3 变量的作用域 58

2.7.4 变量的声明与赋值 59

2.8 类型别名 62

2.8.1 类型别名定义方式 62

2.8.2 中文类型名 62

2.9 类型转换 63

2.9.1 类型转换方法 63

2.9.2 类型兼容性 64

2.9.3 类型转换分类 64

小结 67

习题 68

第3章 Go顺序结构程序设计 70

3.1 顺序结构程序设计和基本语句 70

3.1.1 顺序程序结构 70

3.1.2 简单语句 70

3.1.3 复合语句 72

3.2 Go程序语法注意事项 73

3.2.1 Go程序语句和分号的使用 74

3.2.2 Go程序语句块和左大括号约定 74

3.2.3 注释语句 74

3.3 数据输入输出 74

3.3.1 标准输出函数 75

3.3.2 标准输入函数 82

3.4 Strings包 85

3.4.1 字符串查找函数 85

3.4.2 字符串比较函数 87

3.4.3 字符串位置索引函数 87

3.4.4 字符串追加和替换函数 90

3.5 Strconv包 91

3.5.1 数值转换为字符串函数 91

3.5.2 字符串转换为数值函数 93

3.5.3 Atoi()和Itoa()函数 94

3.6 顺序结构程序举例 95

3.6.1 求平均值 95

3.6.2 计算三角形面积周长 96

3.6.3 求解一元二次方程 97

小结 98

习题 98

第4章 Go选择结构程序设计 100

4.1 if语句 100

4.1.1 if语句的形式 100

4.1.2 if语句的嵌套 104

4.1.3 if语句的注意事项 105

4.2 switch语句 107

4.2.1 switch语句结构 107

4.2.2 switch语句的特殊形式 108

4.2.3 switch语句的注意事项 112

4.3 选择结构程序举例 112

4.3.1 解一元二次方程 112

4.3.2 打印中文日期信息 114

小结 115

习题 115

第5章 Go循环结构程序设计 116

5.1 for语句 116

5.1.1 for基本循环结构 116

5.1.2 for条件循环结构 118

5.1.3 for无限循环结构 119

5.1.4 使用for语句的注意事项 121

5.1.5 for循环嵌套结构 122

5.2 跳转语句 122

5.2.1 break语句 123

5.2.2 continue语句 124

5.2.3 goto语句 126

5.3 for range语句 128

5.4 循环控制程序举例 129

5.4.1 多重循环嵌套应用举例 129

5.4.2 无限循环和跳转语句应用举例 130

5.4.3 for range语句应用举例 132

小结 133

习题 134

第6章 数组、切片和字典 135

6.1 数组 135

6.1.1 数组的声明 135

6.1.2 数组的初始化 136

6.1.3 数组元素的访问和遍历 137

6.1.4 多维数组 139

6.2 切片 140

6.2.1 切片的声明与创建 141

6.2.2 切片元素的访问和遍历 144

6.2.3 切片的操作 144

6.3 字典 146

6.3.1 字典的声明 146

6.3.2 字典的初始化和创建 147

6.3.3 字典的访问和操作 148

6.4 Go语言内存分配机制 150

6.4.1 new函数 150

6.4.2 make函数 151

6.5 字节切片标准库 152

6.5.1 字节切片处理函数 152

6.5.2 Buffer创建函数及操作方法 168

6.5.3 Reader对象及方法 176

6.6 程序举例 181

6.6.1 数组应用 181

6.6.2 Slice应用 182

6.6.3 Map应用 183

小结 184

习题 185

第7章 函数 186

7.1 函数声明 186

7.1.1 函数声明基本格式 186

7.1.2 函数声明举例 187

7.2 函数调用 188

7.2.1 调用标准函数 189

7.2.2 调用自定义函数 189

7.2.3 调用外部包中的函数 191

7.2.4 调用内置函数 192

7.3 参数传递和返回值 192

7.3.1 参数传递 193

7.3.2 返回值 196

7.4 变参函数 198

7.4.1 变参函数的声明 198

7.4.2 变参的传递 199

7.4.3 任意类型的变参 200

7.5 匿名函数与闭包 201

7.5.1 匿名函数 201

7.5.2 闭包 203

7.6 函数的递归调用和defer语句 204

7.6.1 函数的递归调用 204

7.6.2 defer语句 205

7.6.3 异常恢复机制 208

7.7 程序举例 210

7.7.1 函数嵌套调用举例 210

7.7.2 变参函数举例 211

7.7.3 多返回值函数举例 212

小结 213

习题 214

第8章 结构体和方法 215

8.1 结构体的定义 215

8.1.1 结构体定义 215

8.1.2 结构体变量 217

8.1.3 结构体对象 218

8.1.4 结构体对象初始化 220

8.1.5 结构体的赋值和关系操作 221

8.2 嵌入式结构 222

8.2.1 嵌入式结构用作字段 222

8.2.2 嵌入式结构直接定义结构体变量 223

8.2.3 嵌入式结构直接用于Map 224

8.3 匿名字段 225

8.3.1 匿名字段的初始化 226

8.3.2 匿名字段的访问 227

8.3.3 匿名字段的多种形式 228

8.3.4 匿名字段的重名 229

8.3.5 匿名类型指针 231

8.4 方法 231

8.4.1 结构化程序设计思想 231

8.4.2 面向对象程序设计思想 232

8.4.3 Method的基本定义 233

8.4.4 多个Method可以同名 234

8.4.5 指针作为Receiver 235

8.4.6 匿名Receiver 237

8.4.7 Method的继承 237

8.4.8 Method的重写 238

8.5 可见性规则和Struct的导入 239

8.5.1 可见性规则 240

8.5.2 Struct的导入 240

8.6 字段标签 242

8.7 数据I/O对象及操作 243

8.7.1 ReadWriter对象 243

8.7.2 Reader对象 243

8.7.3 Writer对象 249

8.8 应用举例——链表操作 253

8.8.1 链表简介 253

8.8.2 Struct和Method设计单链表 254

小结 257

习题 257

第9章 接口 259

9.1 接口的概念与定义 259

9.1.1 接口的概念 259

9.1.2 接口的定义 259

9.1.3 接口组合 260

9.1.4 空接口 261

9.2 接口执行机制和赋值 261

9.2.1 接口执行机制 261

9.2.2 接口的赋值 262

9.3 匿名字段方法和接口转换 263

9.3.1 匿名字段方法 264

9.3.2 接口转换 265

9.4 接口类型推断 266

9.4.1 Comma-ok断言 266

9.4.2 Switch测试 267

9.5 反射 268

9.5.1 获取原对象的Type和Value值 268

9.5.2 修改原对象Value值 272

9.5.3 动态调用原对象方法 273

9.6 应用举例——二叉树 274

9.6.1 树的定义和基本术语 275

9.6.2 二叉树简介 275

9.6.3 二叉树的链接存储结构 276

9.6.4 二叉树基本应用测试 281

小结 284

习题 284

第10章 Go并发程序设计 286

10.1 程序并发执行概述 286

10.1.1 程序的顺序执行 286

10.1.2 程序的并发执行 287

10.1.3 程序的并行执行 287

10.2 Goroutine 288

10.2.1 操作系统提供的并发基础 288

10.2.2 Goroutine的定义 288

10.2.3 Goroutine的创建 289

10.3 Channel 290

10.3.1 程序间的并发通信 290

10.3.2 Channel简介 290

10.3.3 Channel声明和初始化 291

10.3.4 数据接收和发送 291

10.3.5 Channel的关闭和迭代器 293

10.3.6 单向Channel 294

10.3.7 异步Channel 295

10.4 Select机制和超时机制 297

10.4.1 Select机制 297

10.4.2 超时机制 299

10.5 Runtime Goroutine 300

10.5.1 出让时间片 300

10.5.2 获取CPU核心数和任务数 301

10.5.3 终止当前Goroutine 302

小结 303

习题 303

第11章 Go网络编程 305

11.1 Go网络编程简介 305

11.1.1 计算机网络概念和体系结构 305

11.1.2 网络编程基本概念 307

11.1.3 网络编程模式 311

11.1.4 Socket网络编程接口 313

11.2 Go网络编程基础 314

11.2.1 IP地址和域名解析 314

11.2.2 主机信息查询 318

11.2.3 服务信息查询 320

11.3 Go网络编程原理 322

11.3.1 Socket网络编程 323

11.3.2 Go网络编程 323

11.4 TCP网络程序设计 324

11.4.1 TCPAddr地址结构体 324

11.4.2 TCPConn对象 325

11.4.3 TCP服务器设计 326

11.4.4 TCP客户机设计 328

11.4.5 使用Goroutine实现并发服务器 329

11.5 UDP网络程序设计 331

11.5.1 UDPAddr地址结构体 331

11.5.2 UDPConn对象 331

11.5.3 UDP服务器设计 332

11.5.4 UDP客户机设计 333

11.6 IP网络程序设计 335

11.6.1 IPAddr地址结构体 335

11.6.2 IPConn对象 335

11.6.3 IP服务器设计 336

11.6.4 IP客户机设计 337

11.6.5 Ping程序设计 339

小结 341

习题 342

附录A Go语言内置关键字 343

附录B Go内置函数 344

附录C Go语言标准库 345

附录D 名词与术语索引表 346

参考文献 351

相关图书
作者其它书籍
返回顶部