【假一罚四】Go语言从入门到项目实战(视频版)
集团直发,全新正版书籍,假一罚四,放心选购。24小时内发货,可开发票。
¥
61.2
5.7折
¥
108
全新
库存2件
作者刘瑜
出版社电子工业出版社
ISBN9787121439766
出版时间2022-08
装帧其他
开本其他
定价108元
货号31516125
上书时间2024-11-29
商品详情
- 品相描述:全新
- 商品描述
-
目录
目录
第1部分 Go语言编程基础
第1章 Go语言入门知识2
1.1 Go语言简介2
1.1.1 Go语言的产生2
1.1.2 Go语言的特点与优势3
1.2 Go语言开发工具的安装5
1.2.1 Windows下的安装6
1.2.2 Linux下的安装10
1.2.3 macOS下的安装13
1.3 第一个Go语言程序:Hello三酷猫13
1.4 安装和使用集成开发环境16
1.4.1 集成开发环境的安装16
1.4.2 项目的创建、编译和运行19
1.4.3 代码的出错提示及调试22
1.4.4 代码风格约定25
1.5 关键字和保留字26
1.6 为代码添加注释27
1.6.1 单行注释27
1.6.2 多行注释28
1.7 练习与实验29
第2章 基础语法30
2.1 声明30
2.2 常量与变量30
2.2.1 常量31
2.2.2 变量32
2.2.3 作用域33
2.3 基本数据类型34
2.3.1 整型34
2.3.2 浮点型36
2.3.3 复数型38
2.3.4 布尔型39
2.3.5 字符串型39
2.4 运算符及优先级42
2.4.1 算术运算符42
2.4.2 关系运算符43
2.4.3 逻辑运算符44
2.4.4 位运算符45
2.4.5 赋值运算符47
2.4.6 指针运算符49
2.4.7 优先级49
2.4.8 案例:三酷猫求相加和50
2.5 练习与实验52
第3章 高级数据类型53
3.1 指针类型53
3.1.1 指针的概念54
3.1.2 指针变量的声明54
3.1.3 指针变量的赋值55
3.1.4 访问指针变量所表示的变量的值55
3.1.5 空(nil)指针56
3.1.6 指向指针的指针变量56
3.1.7 案例:解答三酷猫关于指针的困惑57
3.2 数组类型58
3.2.1 数组的概念59
3.2.2 数组的声明与初始化59
3.2.3 访问数组中的元素62
3.2.4 多维数组62
3.2.5 案例:三酷猫计算平均温度63
3.3 切片类型65
3.3.1 切片的概念65
3.3.2 切片的声明与初始化65
3.3.3 空(nil)切片68
3.3.4 访问切片中的元素68
3.3.5 多维切片69
3.3.6 切片的append()函数69
3.3.7 切片的copy()函数72
3.4 集合类型73
3.4.1 集合的概念73
3.4.2 集合的声明与初始化73
3.4.3 集合中元素的检索75
3.4.4 向集合中添加、删除和修改元素76
3.5 结构体类型77
3.5.1 结构体的概念及特点77
3.5.2 结构体的声明77
3.5.3 结构体的使用78
3.6 练习与实验80
第4章 流程控制语法81
4.1 分支结构81
4.1.1 if语句81
4.1.2 if…else…结构83
4.1.3 多分支结构83
4.2 switch…case…分支结构84
4.3 循环结构86
4.3.1 for循环的使用86
4.3.2 多层循环结构89
4.4 跳转控制语句90
4.4.1 break语句90
4.4.2 continue语句91
4.4.3 goto语句92
4.5 for-range结构93
4.5.1 遍历数组与切片93
4.5.2 遍历集合94
4.5.3 遍历字符串94
4.6 案例:三酷猫背九九乘法表95
4.7 案例:三酷猫学算法之冒泡排序95
4.8 练习与实验96
第5章 函数98
5.1 函数的声明98
5.1.1 函数的声明格式99
5.1.2 函数的参数99
5.1.3 可变参数101
5.1.4 函数的返回值102
5.2 函数的调用103
5.2.1 函数的调用格式103
5.2.2 值传递与引用传递104
5.2.3 案例:三酷猫识别数据类型105
5.3 递归函数106
5.4 匿名函数107
5.4.1 匿名函数的声明107
5.4.2 匿名函数的调用108
5.4.3 将匿名函数赋值给变量108
5.4.4 使用匿名函数实现回调108
5.4.5 案例:三酷猫的下载“神器”109
5.5 闭包110
5.6 函数的延迟调用112
5.6.1 延迟调用的使用和特点112
5.6.2 使用延迟调用的注意事项113
5.7 Go语言的异常处理115
5.7.1 运行时宕机116
5.7.2 宕机时恢复117
5.8 案例:三酷猫的面积计算器118
5.9 练习与实验119
第6章 结构体120
6.1 类型120
6.1.1 自定义类型121
6.1.2 自定义别名121
6.2 结构体的基本使用122
6.2.1 结构体的声明及实例化122
6.2.2 匿名结构体125
6.2.3 内存中的结构体变量126
6.2.4 声明并实例化指针类型的结构体变量127
6.3 构造函数与方法128
6.3.1 使用结构体实现构造函数128
6.3.2 方法与接收者130
6.4 结构体的嵌套133
6.4.1 嵌套结构体133
6.4.2 嵌套匿名结构体134
6.4.3 使用结构体实现继承135
6.5 案例:三酷猫开银行136
6.6 练习与实验138
第7章 接口140
7.1 接口概述140
7.2 接口的定义和使用141
7.2.1 接口的定义141
7.2.2 接口的实现142
7.2.3 调用接口方法145
7.2.4 值接收者与指针接收者146
7.2.5 实现多个接口147
7.2.6 接口的嵌套149
7.3 空接口的定义和使用150
7.3.1 空接口的定义150
7.3.2 空接口的使用151
7.4 类型断言152
7.5 练习与实验153
第8章 包154
8.1 包的声明与导入154
8.1.1 包的声明154
8.1.2 包的导入155
8.2 Go应用程序的启动流程159
8.3 创建包160
8.4 Go语言中的常用内置包161
8.4.1 文本格式化输出:fmt包162
8.4.2 磁盘文件读/写:os包171
8.4.3 网络服务:net包180
8.4.4 JSON格式工具包:json包185
8.4.5 时间和日期:time包188
8.4.6 日志服务:log包192
8.4.7 类型转换:strconv包195
8.5 案例:三酷猫的文件夹递归复制工具199
8.6 案例:三酷猫的二维码图片生成器201
8.7 练习与实验202
第9章 并发、并行与协程204
9.1 概念204
9.1.1 进程与线程204
9.1.2 并发与并行205
9.1.3 协程与线程205
9.2 Go语言协程:Goroutine205
9.2.1 使用Goroutine的优势205
9.2.2 创建并启动单个Goroutine206
9.2.3 创建并启动多个Goroutine209
9.3 Go语言调度模型:GPM210
9.3.1 任务调度发展简史210
9.3.2 Go语言中的协程211
9.3.3 GPM设计思想211
9.4 runtime包213
9.4.1 获取当前的操作系统类型和CPU类型213
9.4.2 获取和设置CPU核心数量214
9.4.3 让出资源215
9.4.4 终止当前协程216
9.5 在协程任务之间传递数据:Channel216
9.5.1 通道类型和基本使用217
9.5.2 无缓冲(同步)通道的使用218
9.5.3 带缓冲通道的使用219
9.5.4 判断通道是否关闭220
9.5.5 单向通道的构建221
9.6 select结构221
9.7 加锁和原子操作223
9.7.1 互斥锁224
9.7.2 读/写互斥锁224
9.7.3 原子操作226
9.8 定时器228
9.8.1 Timer228
9.8.2 Ticker230
9.9 案例:三酷猫筛选0~1000范围内的素数230
9.10 练习与实验232
第10章 反射234
10.1 使用反射访问变量234
10.1.1 获取变量的类型235
10.1.2 获取变量的值236
10.1.3 反射值的非空和有效性判定237
10.2 使用反射访问指针表示的变量237
10.3 使用反射访问结构体238
10.4 使用反射修改值240
10.5 使用反射调用函数243
10.6 使用反射创建变量244
10.7 练习与实验244
第11章 命令行工具246
11.1 编译命令go build246
11.2 清理命令go clean247
11.3 运行命令go run248
11.4 代码格式化命令gofmt249
11.5 编译并安装命令go install250
11.6 获取包命令go get250
11.7 练习与实验251
第12章 数据库操作252
12.1 MySQL252
12.1.1 MySQL准备253
12.1.2 增删改查(CRUD)操作259
12.1.3 事务(Transaction)操作262
12.2 Redis263
12.2.1 Redis准备264
12.2.2 Redis数据类型267
12.2.3 使用Go语言对Redis进行操作268
12.3 练习与实验271
第2部分 Go语言项目实战
第13章 开发矩阵计算库274
13.1 线性代数基础与项目功能设计274
13.1.1 线性代数知识的简单回顾274
13.1.2 项目功能设计276
13.2 项目初始化与“鸭子类型”277
13.2.1 初始化项目277
13.2.2 定义matrix包的数据类型278
13.2.3 面向对象与Go语言中的“鸭子类型”278
13.3 矩阵计算包matrix的开发281
13.3.1 定义matrix包中的接口281
13.3.2 实现matrix包中的方法282
13.3.3 测试matrix包288
13.3.4 在其他项目中引用matrix包292
13.4 项目总结294
第14章 STL文件解析和MongoDB存储295
14.1 STL文件简介与项目设计295
14.1.1 项目功能需求设定298
14.1.2 项目实现思路299
14.2 开发utils包299
14.2.1 错误处理文件handle.go300
14.2.2 文件操作文件fileoper.go301
14.3 开发用于模型文件处理的stl包302
14.3.1 定义数据类型:type.go文件303
14.3.2 解析STL文件数据:stl.go文件304
14.3.3 安装和配置MongoDB307
14.3.4 操作数据库:db.go文件310
14.4 开发路由函数的handler包314
14.4.1 定义响应数据格式类型的type.go文件314
14.4.2 用于测试服务器程序连通性的ping.go文件315
14.4.3 处理STL数据请求的stl.go文件316
14.5 开发项目入口文件main.go并测试项目321
14.5.1 开发main.go文件322
14.5.2 使用Postman测试整个项目324
14.6 项目总结327
第15章 开发文件加密和解密程序328
15.1 实现思路及功能设计328
15.1.1 加密和解密过程的实现思路329
15.1.2 功能设计331
15.2 加密和解密程序的设计与实现331
15.2.1 初始化项目332
15.2.2 开发项目的utils包332
15.2.3 对utils包中的关键函数进行测试339
15.3 开发加密、解密和散列值计算的可执行程序340
15.3.1 实现加密程序340
15.3.2 实现解密程序342
15.3.3 实现独立的散列值计算程序343
15.4 项目总结346
附录A 使用fmt.printf()函数格式化字符串347
附录B ASCII编码348
附录C 本书配套代码文件353
内容摘要
Go语言是近几年广受关注的一门新兴编程语言,在设计之初就致力于解决C语言的低效问题,以及C++语言的晦涩、难用等缺陷。Go语言吸收了C、C++强大的开发功能优势,继承了C、C++的编程风格,被广泛应用于构建数字基础设施类软件,以及图形/图像处理、移动应用、人工智能、机器学习等领域,广受国内外大型IT公司的推崇和关注。 本书除了讲解Go语言的基本开发知识,还提供了3个完整的实战项目及131个源码示例。另外,本书提供对应的练习与实验,方便读者对所学知识进行巩固和检验。 本书适合高等院校学生阅读,适合程序员自学,也适合培训机构使用。
— 没有更多了 —
以下为对购买帮助不大的评价