×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787302655732
  • 装帧:线装
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:547
  • 出版时间:2024-04-01
  • 条形码:9787302655732 ; 978-7-302-65573-2

本书特色

 成功掌握Go语言实用技术
 《Go职场》提供了进行初级Go语言编程相关工作所需的基础知识。基于Wiley Edge(以前的mthree)的Go培训项目,为读者提供了快速了解Go这种十分流行的编程语言中各种重要概念和技术的
方法。
  《Go职场》通过演示的方式介绍Go语言中的基础概念和高级概念。此外,本书的“综合练习”部分,会将你所学的知识整合在一起,该部分演示了如何在Go中构建复杂的解决方案。
  《Go职场》非常适合想要学习Go语言的新手,对于需要复习各种技术细节的Go开发人员本书也很有帮助。
  《Go职场》涵盖了数据类型、数据结构、异常和结构体等基础主题,本书还介绍更复杂的主题,如API开发、gRPC和并发。

内容简介

主要内容 ● 如何配置Go语言环境,并提供设计、开发和测试Go应用程序的入门指南。 ● 对基本数据结构(如映射、切片和数组)的实际讨论。 ● gRPC和并发的基本原理。 ● 在Go语言中设计和开发API的基础知识。

目录

第I部分 Go编程语言的基础知识
第1课 初识Go语言 2
1.1 安装Go 2
1.1.1 下载安装文件 3
1.1.2 开始安装Go 4
1.2 对安装结果进行测试 6
1.3 创建Hello, World!程序 8
1.3.1 编译并运行程序 9
1.3.2 其他运行方法 10
1.3.3 调试Hello,World!程序 11
1.3.4 格式化Go代码 12
1.4 安装多个版本的Go 13
1.5 Go的在线编辑器:Go Playground 13
1.6 本课小结 14
1.7 本课练习 15
第2课 Go语言基础 17
2.1 理解语句和标记 17
2.2 语句 18
2.3 注释 20
2.3.1 单行注释 20
2.3.2 块注释或多行注释 22
2.4 标识符 22
2.4.1 大小写 24
2.4.2 命名约定 25
2.5 关键字 26
2.6 本课小结 27
2.7 本课练习 27
第3课 使用变量 31
3.1 变量 31
3.1.1 命名变量 33
3.1.2 声明和初始化变量 33
3.2 静态和动态类型声明 35
3.2.1 混合声明类型 37
3.2.2 在单条语句中混合类型声明 38
3.3 变量作用域 39
3.4 获取用户输入 40
3.4.1 内存地址 40
3.4.2 扫描值 41
3.5 将字符串转换为数字 43
3.6 数值数据类型 46
3.6.1 独立于体系结构的整数类型 47
3.6.2 超出范围的值 49
3.6.3 特定于实现的整数类型 49
3.6.4 浮点类型 50
3.7 本课小结 52
3.8 本课练习 52
第4课 执行运算 55
4.1 算术运算 55
4.1.1 混合数字类型 57
4.1.2 数字类型转换 59
4.1.3 PEMDAS运算规则 60
4.2 赋值运算 62
4.2.1 加法和减法赋值运算 63
4.2.2 乘法、除法和求模赋值运算 64
4.3 使用布尔值 65
4.4 关系运算 66
4.4.1 为布尔变量赋值 67
4.4.2 在关系运算中使用不匹配的类型 68
4.5 布尔运算 69
4.6 数学函数 70
4.7 位运算 72
4.8 随机数 73
4.8.1 限制值的范围 74
4.8.2 随机数生成器中的种子 75
4.9 本课小结 76
4.10 本课练习 76
第5课 用条件语句控制程序流程 80
5.1 条件语句 80
5.2 使用if语句 81
5.3 使用多个条件 83
5.4 使用if-else语句 85
5.5 创建嵌套的if语句 86
5.6 使用switch语句 88
5.6.1 使用fallthrough执行多个case 90
5.6.2 在一个case中使用多个表达式 92
5.6.3 在case中使用条件语句 93
5.7 本课小结 94
5.8 本课练习 95
第6课 用循环控制程序流程 99
6.1 循环语句 99
6.2 for循环 101
6.2.1 for循环中的可选项 103
6.2.2 Go中的while语句 104
6.2.3 无限循环 106
6.3 遍历字符串 107
6.4 range函数 108
6.5 循环控制语句 109
6.5.1 break语句 110
6.5.2 continue语句 111
6.5.3 goto语句 112
6.6 本课小结 113
6.7 本课练习 113
第7课 综合练习:个税计算器 118
7.1 准备工作 119
7.2 **步:收集需求 119
7.2.1 使用的值 119
7.2.2 用户界面 120
7.2.3 其他标准 120
7.3 第二步:设计程序 121
7.4 第三步:创建输入 121
7.5 第四步:计算应税收入 123
7.6 第五步:计算税率 124
7.6.1 添加条件语句 126
7.6.2 创建嵌套条件 128
7.7 第六步:更新应用程序 134
7.7.1 如何处理负的应税收入 136
7.7.2 核实代码 137
7.8 第七步:完善用户界面 138
7.9 自己动手实践 140
7.10 本课小结 141
第II部分 用Go组织代码和数据
第8课 使用函数 144
8.1 定义函数 144
8.1.1 使用多个函数 146
8.1.2 没有返回值的函数 147
8.1.3 带有多个返回值的函数 148
8.2 变长函数 152
8.3 递归 153
8.4 将函数作为值 154
8.5 闭包 155
8.6 本课小结 157
8.7 本课练习 157
第9课 访问数组 160
9.1 声明数组 161
9.1.1 给数组元素赋值 161
9.1.2 数组的基本规则 163
9.1.3 数组元素和变量的相似性 164
9.2 对数组进行声明和初始化 166
9.3 推断数组大小 167
9.4 使用for循环填充数组 168
9.5 在数组中使用range 169
9.6 创建多维数组 170
9.7 复制数组 171
9.8 比较数组 172
9.9 本课小结 174
9.10 本课练习 174
第10课 使用指针 177
10.1 创建指针 177
10.1.1 初始化指针 179
10.1.2 声明和初始化指针 179
10.1.3 使用动态类型 180
10.1.4 不同类型的指针 181 10.2 通过指针访问变量值 183
10.3 了解nil指针 184
10.4 使用指针改变变量值 185
10.5 比较指针 186
10.6 使用指针数组 187
10.7 在函数中使用指针 189
10.8 本课小结 191
10.9 本课练习 191
第11课 使用结构体 195
11.1 声明和初始化结构体 195
11.1.1 从结构体中获取值 197
11.1.2 在声明结构体变量时对它进行初始化 198
11.1.3 使用短赋值运算符 198
11.2 在结构体中使用键值对 199
11.3 使用new关键字 201
11.4 指针和结构体 203
11.5 嵌套结构体 204
11.6 向结构体中添加方法 206
11.7 类型和值 208
11.8 对结构体进行比较 209
11.9 本课小结 211
11.10 本课练习 211
第12课 访问切片 216
12.1 切片的工作原理 216
12.2 对数组进行切片 217
12.2.1 使用len和cap 219
12.2.2 使用快捷方式 220
12.3 改变切片的大小 221
12.4 对切片进行迭代 222
12.5 make函数 223
12.6 使用var创建切片变量 224
12.7 处理切片元素 225
12.7.1 替换切片中的元素 225
12.7.2 使用空切片 226
12.7.3 使用切片的部分元素 227
12.7.4 在切片中使用range 228
12.8 使用append函数向切片追加值 229
12.9 复制切片 230
12.10 使用new关键字创建切片 231
12.11 从切片中删除元素 232
12.12 本课小结 234
12.13 本课练习 234
第13课 操作映射 237
13.1 定义映射 237
13.1.1 维护类型 239
13.1.2 重复的键 240
13.2 空映射 240
13.3 使用make创建映射 242
13.4 映射的长度 243
13.5 检索映射元素 244
13.6 检查映射中的键 245
13.7 遍历映射 246
13.8 从映射中删除元素 247
13.9 使用字面值声明映射 249
13.10 本课小结 250
13.11 本课练习 250
第14课 创建方法 253
14.1 使用方法 253
14.2 定义方法 255
14.3 在方法中使用指针 256
14.4 命名方法 260
14.5 使用值接收器和参数 261
14.6 使用指针接收器和参数 263
14.7 本课小结 266
14.8 本课练习 266
第15课 添加接口 271
15.1 创建接口 271
15.2 接口和代码可重用性 274
15.3 静态和动态接口类型 275
15.4 空接口 277
15.5 检查接口类型 277
15.6 多接口 279
15.7 嵌入式接口 282
15.8 本课小结 283
15.9 本课练习 284
第16课 综合练习:汉堡店应用程序 286
16.1 应用程序需求 286
16.2 代码设计 287
16.3 创建结构体 288
16.3.1 创建burger结构体 288
16.3.2 创建drink结构体 291
16.3.3 创建side结构体 293
16.3.4 创建combo结构体 295
16.3.5 创建order结构体 296
16.4 创建辅助函数 298
16.4.1 买汉堡 300
16.4.2 买配餐 301
16.4.3 买饮料 301
16.4.4 买套餐 302 16.5 整合代码 303
16.6 本课小结 305
16.7 完整的汉堡店应用程序 306
第III部分 用Go创建解决方案
第17课 错误处理 314
17.1 Go程序中的错误 314
17.2 Go中的error类型 315
17.3 自定义错误处理 317
17.4 错误方法 318
17.5 Errorf函数 320
17.6 空标识符 321
17.7 用结构体表示错误消息 322
17.8 多个自定义错误消息 323
17.9 本课小结 326
17.10 本课练习 326
第18课 并发 328
18.1 使用并发 328
18.1.1 操作系统的角色 329
18.1.2 并发带来的问题 330
18.1.3 互斥 331
18.2 并行 332
18.2.1 实现并行 333
18.2.2 防止由并行引发的问题 334
18.3 使用协程 334
18.4 多协程 336
18.5 使用通道 339
18.5.1 使用make创建通道 340
18.5.2 通道和并发 340
18.5.3 添加延迟 341
18.6 具有多个协程的通道 342
18.7 关闭通道 344
18.8 迭代通道 345
18.9 本课小结 347
18.10 本课练习 347
第19课 排序和数据处理 349
19.1 排序 349
19.1.1 检查排序后的值 351
19.1.2 自定义排序函数 352
19.1.3 改变排序顺序 354
19.2 时间和日期操作 355
19.2.1 定义时间 357
19.2.2 比较时间 358
19.2.3 时间计算 360
19.2.4 解析时间 366
19.2.5 使用UNIX时间 368
19.2.6 格式化标准时间 369
19.3 正则表达式 369
19.4 本课小结 372
19.5 本课练习 372
第20课 文件I/O和OS操作 377
20.1 读取文件 377
20.1.1 panic函数 379
20.1.2 读取文件的一部分 380
20.1.3 defer语句 382
20.1.4 从特定的起点读取文件 382
20.1.5 缓冲读取器 384
20.1.6 按行读取文件 385
20.2 向文件写入数据 387
20.2.1 创建新文件 388
20.2.2 缓冲写入器 390
20.3 使用目录 391
20.3.1 创建目录 392
20.3.2 删除目录 393
20.3.3 创建目录树 393
20.3.4 列出目录内容 394
20.3.5 更改目录 395
20.3.6 临时文件和临时目录 397
20.4 命令行参数 399
20.5 本课小结 400
20.6 本课练习 400
第21课 综合练习:Go语言中的单词分析 403
21.1 检查数据 403
21.2 读取评论数据 405
21.3 对输入字符串进行分词 413
21.3.1 识别标点符号并使用空格进行替换 414
21.3.2 将输入文本转换为小写 415
21.3.3 将字符串分割为单词 416
21.4 创建一个分词函数 417
21.4.1 对评论内容进行分词 418
21.4.2 对整个数据集进行分词 419
21.5 对每条评论中的单词进行计数 419
21.6 对评论进行分词并计数 420
21.7 改进设计 423
21.7.1 改进1:优化结构体 423
21.7.2 改进2:添加自定义错误和异常处理 428
21.7.3 改进3:优化分词 430
21.7.4 改进4:优化单词计数 431
21.8 进一步的改进 433
21.9 *终代码清单 433
21.10 本课小结 436
第IV部分 Go开发的高级主题
第22课 测试 438
22.1 测试驱动开发 438
22.2 测试级别 439
22.3 TDD工作流 440
22.3.1 TDD过程 440
22.3.2 TDD的优点 441
22.4 测试包 441
22.4.1 创建程序 442
22.4.2 编写测试 442
22.4.3 运行测试 444
22.5 教程:测试驱动开发 445
22.5.1 **个测试:美元金额的字符串表示 445
22.5.2 第二个测试:使用其他值进行测试 447
22.5.3 第三个测试:运算并输出结果 450
22.5.4 对测试进行检查 454
22.5.5 第四个测试:包含减法 456
22.5.6 *终测试:查看输入值 459
22.6 行为驱动开发 462
22.6.1 行为驱动开发的目标 462
22.6.2 避免失败 463
22.6.3 行为规范 464
22.6.4 定义用户故事 465
22.7 本课小结 466
22.8 本课练习 466
第23课 API开发教程 467
23.1 概述和要求 467 23.2 **步:创建数据集和一个简单的API 468
23.2.1 定义数据集 469
23.2.2 homePage函数 469
23.2.3 返回处理程序 470
23.2.4 对传入的请求进行处理和路由 470
23.2.5 添加数据 471
23.2.6 执行请求处理程序 472
23.2.7 运行程序 473
23.3 第二步:添加Gorilla Mux路由器 475
23.4 第三步:检索记录 478
23.4.1 检索特定记录 478
23.4.2 对更新进行测试 479
23.5 第四步:添加新记录 481
23.6 第五步:删除记录 486
23.7 本课小结 490
23.8 本课练习 490
第24课 使用gRPC 492
24.1 使用gRPC 492
24.2 设置服务 493
24.2.1 Git 493
24.2.2 gRPC 494
24.2.3 Protobuf 494
24.2.4 protoc 495
24.2.5 用户目录 495
24.3 创建服务器 496
24.4 创建gRPC服务器 497
24.5 创建聊天服务 498
24.6 更新服务器代码以添加聊天服务 499
24.7 创建chat包 500
24.8 创建客户端 501
24.9 运行服务器和客户端 503
24.10 本课小结 503
24.11 本课练习 504
第25课 综合练习:使用智能数据 505
25.1 项目概要 505
25.2 设计我们的API 506
25.3 实现gRPC服务器 508
25.3.1 地理位置服务器外壳 509
25.3.2 金融服务器外壳 517
25.4 创建API 529
25.4.1 实现getGeoLocationData端点 531
25.4.2 实现getQuote端点 532
25.4.3 更新api.go文件 533
25.5 本课小结 537
第26课 使用模块 538
26.1 开始使用模块 538
26.2 **步:创建项目目录 538
26.3 第二步:创建程序 539
26.4 第三步:创建测试程序 540
26.5 第四步:创建go.mod文件 540
26.6 第五步:对模块进行测试 541
26.7 第六步:使用模块 541
26.8 命名模块函数 541
26.9 本课小结 542
26.10 本课练习 542
附录A 文件权限和访问权限 544
展开全部

作者简介

Haythem Balti博士是Wiley Edge的副院长。他创建了许多门课程,供数千个软件协会和Wiley Edge(前身为mthree)校友使用,以学习SQL、Go、Java、Python和其他编程语言及数据科学技能。
Kimberly A. Weiss是Wiley Edge课程运营的高级经理。她与多所大学以及企业培训机构合作,针对软件开发课程为学员设计成功的交互式教学案例。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航