图书介绍

Go语言程序设计PDF|Epub|txt|kindle电子书版本网盘下载

Go语言程序设计
  • 王鹏编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302347231
  • 出版时间:2014
  • 标注页数:351页
  • 文件大小:85MB
  • 文件页数:368页
  • 主题词:程序语言-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

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

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

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

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

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

图书目录

第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 LiteIDE13

1.4.2 SublimeText 214

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 嵌入式结构直接用于Map224

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 指针作为Receiver235

8.4.6 匿名Receiver237

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 Goroutine288

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

10.2.2 Goroutine的定义288

10.2.3 Goroutine的创建289

10.3 Channel290

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 单向Channel294

10.3.7 异步Channel295

10.4 Select机制和超时机制297

10.4.1 Select机制297

10.4.2 超时机制299

10.5 Runtime Goroutine300

10.5.1 出让时间片300

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

10.5.3 终止当前Goroutine302

小结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

热门推荐