当前位置:主页 > 书籍配套资源 > Go语言配套资源
《Go语言入门经典》配套资源

《Go语言入门经典》配套资源

  • 更新:2021-07-19
  • 大小:2.52 MB
  • 类别:Go语言
  • 作者:(英)乔治·奥尔波(George、Orn
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

内容介绍

Go语言是谷歌推出的一种全新的编程语言,旨在不损失应用程序性能的情况下降低代码的复杂性,具有“部署简单、并发性好、语言设计良好、执行性能好”等优势,目前国内诸多IT公司均已采用Go语言开发项目。 《Go语言入门经典》分为24章,讲解了使用Go语言编写高质量程序的方法,其内容涵盖了Go语言特性和标准库安装包,Go与JavaScript的对比,Go命令行工具,Go中的基本概念(比如类型、变量、函数、控制结构、指针、接口等)、错误处理、Goroutine和通道、Go代码测试、使用Go编写HTTP客户端与服务器、处理JSON和文件、部署Go代码等。 《Go语言入门经典》适合想要掌握Go语言的零基础读者以及对Go语言感兴趣的程序员学习,还可作为高等院校教授Go语言课程的教材。

作者介绍

George Ornbo是一位软件工程师、博主和作家,拥有14年的软件开发经验,其客户既有初创公司,也有大型企业客户;熟悉众多编程语言、UNIX和Web底层协议。当前供职于伦敦的一家区块链初创公司。

目录

  • 第 1章 起步 1
  • 1.1 Go简介 1
  • 1.1.1 Go语言简史 1
  • 1.1.2 Go是编译型语言 2
  • 1.2 安装Go 2
  • 1.2.1 在Windows系统中安装 3
  • 1.2.2 在macOS或Linux系统中
  • 安装 4
  • 1.3 设置环境 4
  • 1.4 编写第 一个Go程序——
  • Hello World 5
  • 1.4.1 使用go run编译并运行
  • 程序 6
  • 1.4.2 Go吉祥物 6
  • 1.5 小结 6
  • 1.6 问与答 7
  • 1.7 作业 7
  • 1.7.1 小测验 7
  • 1.7.2 答案 7
  • 1.8 练习 7
  • 第 2章 理解类型 8
  • 2.1 数据类型是什么 8
  • 2.2 区分静态类型和动态类型 8
  • 2.3 使用布尔类型 11
  • 2.4 理解数值类型 12
  • 2.4.1 带符号整数和无符号整数 13
  • 2.4.2 浮点数 14
  • 2.4.3 字符串 14
  • 2.4.4 数组 14
  • 2.5 检查变量的类型 15
  • 2.6 类型转换 16
  • 2.7 小结 17
  • 2.8 问与答 17
  • 2.9 作业 17
  • 2.9.1 小测验 17
  • 2.9.2 答案 17
  • 2.10 练习 18
  • 第3章 理解变量 19
  • 3.1 变量是什么 19
  • 3.2 快捷变量声明 21
  • 3.3 理解变量和零值 21
  • 3.4 编写简短变量声明 22
  • 3.5 变量声明方式 23
  • 3.6 理解变量作用域 24
  • 3.7 使用指针 25
  • 3.8 声明常量 27
  • 3.9 小结 28
  • 3.10 问与答 28
  • 3.11 作业 29
  • 3.11.1 小测验 29
  • 3.11.2 答案 29
  • 3.12 练习 29
  • 第4章 使用函数 30
  • 4.1 函数是什么 30
  • 4.1.1 函数的结构 30
  • 4.1.2 返回单个值 31
  • 4.1.3 返回多个值 32
  • 4.2 定义不定参数函数 33
  • 4.3 使用具名返回值 34
  • 4.4 使用递归函数 35
  • 4.5 将函数作为值传递 36
  • 4.6 小结 38
  • 4.7 问与答 38
  • 4.8 作业 38
  • 4.8.1 小测验 38
  • 4.8.2 答案 38
  • 4.9 练习 39
  • 第5章 控制流程 40
  • 5.1 使用if语句 40
  • 5.2 使用else语句 42
  • 5.3 使用else if语句 43
  • 5.4 使用比较运算符 44
  • 5.5 使用算术运算符 45
  • 5.6 使用逻辑运算符 45
  • 5.7 使用switch语句 46
  • 5.8 使用for语句进行循环 47
  • 5.8.1 包含初始化语句和后续
  • 语句的for语句 49
  • 5.8.2 包含range子句的for
  • 语句 49
  • 5.9 使用defer语句 50
  • 5.10 小结 52
  • 5.11 问与答 52
  • 5.12 作业 53
  • 5.12.1 小测验 53
  • 5.12.2 答案 53
  • 5.13 练习 53
  • 第6章 数组、切片和映射 54
  • 6.1 使用数组 54
  • 6.2 使用切片 56
  • 6.2.1 在切片中添加元素 56
  • 6.2.2 从切片中删除元素 58
  • 6.2.3 复制切片中的元素 58
  • 6.3 使用映射 59
  • 从映射中删除元素 60
  • 6.4 小结 61
  • 6.5 问与答 61
  • 6.6 作业 62
  • 6.6.1 小测验 62
  • 6.6.2 答案 62
  • 6.7 练习 62
  • 第7章 使用结构体和指针 63
  • 7.1 结构体是什么 63
  • 7.2 创建结构体 65
  • 7.3 嵌套结构体 68
  • 7.4 自定义结构体数据字段的
  • 默认值 69
  • 7.5 比较结构体 71
  • 7.6 理解公有和私有值 72
  • 7.7 区分指针引用和值
  • 引用 73
  • 7.8 小结 75
  • 7.9 问与答 75
  • 7.10 作业 76
  • 7.10.1 小测验 76
  • 7.10.2 答案 76
  • 7.11 练习 76
  • 第8章 创建方法和接口 77
  • 8.1 使用方法 77
  • 8.2 创建方法集 79
  • 8.3 使用方法和指针 80
  • 8.4 使用接口 83
  • 8.5 小结 86
  • 8.6 问与答 86
  • 8.7 作业 87
  • 8.7.1 小测验 87
  • 8.7.2 答案 87
  • 8.8 练习 87
  • 第9章 使用字符串 88
  • 9.1 创建字符串字面量 88
  • 9.2 理解rune字面量 89
  • 9.3 拼接字符串 90
  • 9.3.1 使用缓冲区拼接字符串 92
  • 9.3.2 理解字符串是什么 93
  • 9.3.3 处理字符串 94
  • 9.4 小结 97
  • 9.5 问与答 97
  • 9.6 作业 97
  • 9.6.1 小测验 97
  • 9.6.2 答案 97
  • 9.7 练习 98
  • 第 10章 处理错误 99
  • 10.1 错误处理及Go语言的
  • 独特之处 99
  • 10.2 理解错误类型 101
  • 10.3 创建错误 101
  • 10.4 设置错误的格式 102
  • 10.5 从函数返回错误 103
  • 10.6 错误和可用性 104
  • 10.7 慎用panic 104
  • 10.8 小结 106
  • 10.9 问与答 106
  • 10.10 作业 106
  • 10.10.1 小测验 106
  • 10.10.2 答案 106
  • 10.11 练习 107
  • 第 11章 使用Goroutine 108
  • 11.1 理解并发 108
  • 11.2 并发和并行 110
  • 11.3 通过Web浏览器来
  • 理解并发 110
  • 11.4 阻塞和非阻塞代码 111
  • 11.5 使用Goroutine处理并发
  • 操作 112
  • 11.6 定义Goroutine 114
  • 11.7 小结 114
  • 11.8 问与答 114
  • 11.9 作业 115
  • 11.9.1 小测验 115
  • 11.9.2 答案 115
  • 11.10 练习 115
  • 第 12章 通道简介 116
  • 12.1 使用通道 116
  • 12.2 使用缓冲通道 119
  • 12.3 阻塞和流程控制 120
  • 12.4 将通道用作函数参数 123
  • 12.5 使用select语句 123
  • 12.6 退出通道 126
  • 12.7 小结 128
  • 12.8 问与答 128
  • 12.9 作业 128
  • 12.9.1 小测验 129
  • 12.9.2 答案 129
  • 12.10 练习 129
  • 第 13章 使用包实现代码重用 130
  • 13.1 导入包 130
  • 13.2 理解包的用途 131
  • 13.3 使用第三方包 132
  • 13.4 安装第三方包 132
  • 13.5 管理第三方依赖 133
  • 13.6 创建包 135
  • 13.7 小结 137
  • 13.8 问与答 137
  • 13.9 作业 137
  • 13.9.1 小测验 137
  • 13.9.2 答案 138
  • 13.10 练习 138
  • 第 14章 Go语言命名约定 139
  • 14.1 Go代码格式设置 139
  • 14.2 使用gofmt 140
  • 14.3 配置文本编辑器 141
  • 14.4 命名约定 142
  • 14.5 使用golint 143
  • 14.6 使用godoc 144
  • 14.7 工作流程自动化 147
  • 14.8 小结 148
  • 14.9 问与答 149
  • 14.10 作业 149
  • 14.10.1 小测验 149
  • 14.10.2 答案 149
  • 14.11 练习 149
  • 第 15章 测试和性能 150
  • 15.1 测试:软件开发的重要
  • 方面 150
  • 15.1.1 单元测试 151
  • 15.1.2 集成测试 151
  • 15.1.3 功能测试 151
  • 15.1.4 测试驱动开发 151
  • 15.2 testing包 151
  • 15.3 运行表格驱动测试 154
  • 15.4 基准测试 156
  • 15.5 提供测试覆盖率 158
  • 15.6 小结 159
  • 15.7 问与答 159
  • 15.8 作业 159
  • 15.8.1 小测验 159
  • 15.8.2 答案 159
  • 15.9 练习 160
  • 第 16章 调试 161
  • 16.1 日志 161
  • 16.2 打印数据 164
  • 16.3 使用fmt包 165
  • 16.4 使用Delve 168
  • 16.5 使用gdb 170
  • 16.6 小结 171
  • 16.7 问与答 171
  • 16.8 作业 171
  • 16.8.1 小测验 171
  • 16.8.2 答案 172
  • 16.9 练习 172
  • 第 17章 使用命令行程序 173
  • 17.1 操作输入和输出 174
  • 17.2 访问命令行参数 174
  • 17.3 分析命令行标志 176
  • 17.4 指ding标志的类型 177
  • 17.5 自定义帮助文本 178
  • 17.6 创建子命令 179
  • 17.7 POSIX兼容性 182
  • 17.8 安装和分享命令行程序 182
  • 17.9 小结 184
  • 17.10 问与答 184
  • 17.11 作业 184
  • 17.11.1 小测验 185
  • 17.11.2 答案 185
  • 17.12 练习 185
  • 第 18章 创建HTTP服务器 186
  • 18.1 通过Hello World Web服务器
  • 宣告您的存在 186
  • 18.2 查看请求和响应 187
  • 18.2.1 使用curl发出请求 188
  • 18.2.2 详谈路由 189
  • 18.3 使用处理程序函数 189
  • 18.4 处理404错误 190
  • 18.5 设置报头 191
  • 18.6 响应以不同类型的内容 192
  • 18.7 响应不同类型的请求 194
  • 18.8 获取GET和POST请求中的
  • 数据 195
  • 18.9 小结 197
  • 18.10 问与答 198
  • 18.11 作业 198
  • 18.11.1 小测验 198
  • 18.11.2 答案 198
  • 18.12 练习 199
  • 第 19章 创建HTTP客户端 200
  • 19.1 理解HTTP 200
  • 19.2 发出GET请求 201
  • 19.3 发出POST请求 202
  • 19.4 进一步控制HTTP请求 204
  • 19.5 调试HTTP请求 205
  • 19.6 处理超时 207
  • 19.7 小结 208
  • 19.8 问与答 209
  • 19.9 作业 209
  • 19.9.1 小测验 209
  • 19.9.2 答案 209
  • 19.10 练习 210
  • 第 20章 处理JSON 211
  • 20.1 JSON简介 211
  • 20.2 使用JSON API 213
  • 20.3 在Go语言中使用JSON 213
  • 20.4 解码JSON 217
  • 20.5 映射数据类型 219
  • 20.6 处理通过HTTP收到的JSON 220
  • 20.7 小结 221
  • 20.8 问与答 221
  • 20.9 作业 222
  • 20.9.1 小测验 222
  • 20.9.2 答案 222
  • 20.10 练习 222
  • 第 21章 处理文件 223
  • 21.1 文件的重要性 223
  • 21.2 使用ioutil包读写文件 224
  • 21.2.1 读取文件 224
  • 21.2.2 创建文件 225
  • 21.3 写入文件 227
  • 21.4 列出目录的内容 228
  • 21.5 复制文件 229
  • 21.6 删除文件 230
  • 21.7 使用文件来管理配置 231
  • 21.7.1 使用JSON文件 231
  • 21.7.2 使用TOML文件 232
  • 21.8 小结 234
  • 21.9 问与答 234
  • 21.10 作业 234
  • 21.10.1 小测验 235
  • 21.10.2 答案 235
  • 21.11 练习 235
  • 第 22章 正则表达式简介 236
  • 22.1 定义正则表达式 236
  • 22.2 熟悉正则表达式语法 238
  • 22.3 使用正则表达式验证数据 239
  • 22.4 使用正则表达式来变换数据 240
  • 22.5 小结 241
  • 22.6 问与答 241
  • 22.7 作业 241
  • 22.7.1 小测验 242
  • 22.7.2 答案 242
  • 22.8 练习 242
  • 第 23章 Go语言时间编程 243
  • 23.1 时间元素编程 243
  • 23.2 让程序休眠 245
  • 23.3 设置超时时间 245
  • 23.4 使用ticker 246
  • 23.5 以字符串格式表示时间 247
  • 23.6 使用结构体Time 248
  • 23.7 时间加减 249
  • 23.8 比较两个不同的Time结构体 249
  • 23.9 小结 250
  • 23.10 问与答 250
  • 23.11 作业 251
  • 23.11.1 小测验 251
  • 23.11.2 答案 251
  • 23.12 练习 251
  • 第 24章 部署Go语言代码 252
  • 24.1 理解目标 252
  • 24.2 压缩二进制文件的大小 255
  • 24.3 使用Docker 256
  • 24.4 下载二进制文件 258
  • 24.5 使用go get 259
  • 24.6 通过包管理器发布代码 260
  • 24.7 小结 260
  • 24.8 问与答 260
  • 24.9 作业 261
  • 24.9.1 小测验 261
  • 24.9.2 答案 261
  • 24.10 练习 261

资源下载

资源下载地址1:https://box.lenovo.com/l/7oOxTQ

相关资源

网友留言