Go语言极简一本通:零基础入门到项目实战
①全新正版,现货速发,7天无理由退换货②天津、成都、无锡、广东等多仓就近发货,订单最迟48小时内发出③无法指定快递④可开电子发票,不清楚的请咨询客服。
¥
50.09
5.1折
¥
99
全新
库存2件
作者欢喜
出版社电子工业出版社
ISBN9787121407482
出版时间2021-04
装帧其他
开本16开
定价99元
货号31111919
上书时间2024-10-13
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
欢喜,微信公众号“面向加薪学习”的作者,B站“面向加薪学习”的作者,“GoCn”小组成员,在社区连载了一系列Go语言相关的技术文章,并在B站发布了一系列Go语言相关视频,均广受欢迎。拥有多年国内一线互联网公司从业经验,主导全栈项目,擅长Go、Java、Vue、移动开发(Flutter)和小程序(Taro),拥有丰富的大型网站架构经验。
目录
第一部分 基础知识
第1章 起步1
1.1 源代码与程序1
1.2 变量的命名2
1.3 指针4
1.4 包和文件5
1.5 变量的生命周期6
1.6 作用域7
第2章 变量与简单类型9
2.1 运行hello_world.go9
2.2 变量10
2.3 字符串11
2.3.1 修改字符串的大小写11
2.3.2 合并(拼接)字符串12
2.3.3 使用制表符或换行符添加空白13
2.3.4 删除空格13
2.4 数字14
2.4.1 整数15
2.4.2 浮点数15
2.4.3 使用strconv.Itoa方法避免类型错误15
2.5 注释16
2.6 小结17
第3章 数组18
3.1 数组简介18
3.2 初始化数组元素的3种方式19
3.3 访问数组元素20
3.4 索引是从0而不是从1开始的21
3.5 使用数组中的各个值21
3.6 遍历数组22
3.7 循环23
3.8 修改数组中的元素24
3.9 使用列表时应避免索引错误24
3.10 小结25
第4章 切片26
4.1 切片简介26
4.1.1 创建切片27
4.1.2 访问切片元素30
4.1.3 遍历切片元素31
4.1.4 复制切片32
4.2 修改、添加和删除元素33
4.2.1 修改切片元素34
4.2.2 在切片中添加元素34
4.2.3 从切片中删除元素36
4.3 使用切片时应避免索引错误37
4.4 遍历切片时容易犯的错误38
4.5 小结39
第5章 流程控制41
5.1 if语句41
5.2 条件测试42
5.2.1 检查是否相等42
5.2.2 比较数字43
5.2.3 检查多个条件43
5.2.4 检查在切片中是否包含特定值44
5.2.5 布尔表达式44
5.2.6 if-else 结构45
5.3 switch语句46
5.4 循环语句49
5.5 小结51
第6章 字典52
6.1 字典简介52
6.2 创建字典54
6.3 使用字典55
6.3.1 访问字典中的值56
6.3.2 添加键值对57
6.3.3 修改字典中的值57
6.3.4 删除键值对58
6.4 遍历字典59
6.4.1 在字典中嵌入切片59
6.4.2 在字典中嵌入字典61
6.5 避免遍历61
6.6 小结63
第7章 函数64
7.1 定义函数64
7.1.1 向函数传递信息67
7.1.2 实际参数和形式参数67
7.1.3 位置实参68
7.1.4 传递数组69
7.1.5 传递切片70
7.1.6 避免实参错误71
7.2 返回值71
7.2.1 返回简单值71
7.2.2 返回字典72
7.3 返回多个值72
7.4 函数变量75
7.5 匿名函数78
7.6 闭包79
7.7 变长函数81
7.8 延迟函数调用82
7.9 panic83
7.10 recover84
7.11 小结85
第8章 结构体与方法86
8.1 结构体概述86
8.2 结构体的使用88
8.3 匿名成员与结构体嵌套89
8.4 结构体与JSON91
8.5 方法93
8.6 指针接收者方法94
8.7 实参接收者type与*type96
8.8 值方法与指针方法的区别98
8.9 方法与表达式100
8.10 小结100
第9章 接口102
9.1 接口的定义及使用102
9.2 非侵入式接口104
9.3 使用指针接收者实现接口106
9.4 接口的嵌套107
9.5 接口值110
9.6 error接口112
9.7 类型断言113
9.8 类型分支114
9.9 动态类型、动态值和静态类型114
9.10 小结118
第二部分 高效并发
第10章 协程与通道119
10.1 并发119
10.2 协程并发模型121
10.3 goroutine(协程)的使用124
10.4 channel(通道)125
10.5 channel进阶126
10.6 单向channel129
10.7 无缓冲channel130
10.8 缓冲channel131
10.9 select132
10.10 关闭channel135
10.11 小结136
第11章 并发资源137
11.1 竞态137
11.2 sync.Mutex与sync.RWMutex139
11.3 条件变量146
11.4 原子操作149
11.5 WaitGroup类型与Once类型152
11.6 context.Context类型155
11.7 小结159
第12章 包管理161
12.1 go mod161
12.2 go mod中的命令162
12.3 小结164
第13章 测试165
第14章 反射169
14.1 反射简介169
14.2 动态调用无参方法170
14.3 动态调用有参方法170
14.4 动态struct tag解析171
14.5 对类型进行转换和赋值172
14.6 使用Kind与switch处理不同分支174
14.7 判断是否实现了某接口175
第三部分 项目实战
第15章 Gin框架177
15.1 HTTP简介177
15.2 Gin框架简介183
15.3 RESTful184
15.4 路由参数185
15.5 URL查询参数的获取186
15.6 接收数组和map187
15.7 获取Form表单参数188
15.8 JSON渲染输出190
第16章 生活点评项目实战193
16.1 总体需求分析193
16.2 开发精要196
16.3 接口设计197
16.4 餐厅详情模块198
16.5 数据库访问层200
16.6 服务层203
16.7 路由和方法204
16.8 团购下单模块204
16.9 数据库访问层205
16.10 团购下单――服务层205
16.11 团购下单――路由和方法206
16.12 小结208
第17章 账户管理系统实战209
17.1 启动一个简单的RESTful服务器209
17.2 Viper211
17.3 日志追踪217
17.4 定义错误码220
17.5 创建账户224
17.6 删除账户228
17.7 更新账户229
17.8 账户列表231
17.9 根据账户名称查询用户信息234
17.10 OAuth 2.0简介236
17.11 OAuth 2.0 的四种授权模式237
内容摘要
本书是一本Go语言入门书,全书共分为三部分。第一部分讲解Go语言基础知识,包括变量与简单类型、数组、切片、流程控制、字典、函数、结构体与方法、接口等,可以帮助读者快速掌握Go语言的基本程序结构。第二部分讲解Go语言高效并发相关知识,包括协程与通道、并发资源、包管理和测试等,让读者对Go语言层面的并发支持有更深入的理解。第三部分讲解Go语言项目实战,包括Gin框架、生活点评项目实战、账户管理系统实战,以及OAuth2.0的授权协议等。通过实战,把前面讲解的知识点运用起来,帮助读者快速上手,积累项目经验。
主编推荐
"Go语言具有天生支持高并发、语法简洁等特点,因此在云计算、微服务、大数据、区块链和物联网等领域发展得如火如荼。
系统设计:从基础知识、底层原理到有趣的案例,帮助读者理解晦涩的概念,让枯燥的编程变得有趣。
案例实操:本书设计了很多的代码示例,从读者的视角,演示了一些容易出bug的场景,以免读者“掉到坑里”。此外,本书还引入了很多生活化的场景,比如用美食、做饭、抢位置等例子比喻协程和通道的高并发原理,让学习不再枯燥。"
媒体评论
"Go语言在计算机语言界是个“年轻小伙”,近年发展得不可谓不迅猛,在5G物联网、云计算、容器技术、区块链,以及服务端开发等领域都有着重要的地位。本书内容条理清晰,由浅入深,不论是刚接触Go语言的入门者,还是有经验的Go语言的进阶者,本书丰富的内容都会让您收获颇丰。
京东数科架构师 温达明
本书较为系统地介绍了Go语言的基础知识,并在项目实战环节介绍了如何从小白蜕变成真正的Go开发工程师。本书很好适合有志于成为Go开发的新人,以及有其他语言基础想快速了解Go语言的开发人员,相信他们通过对本书的学习一定会有较大的收获。
好未来集团不错架构师 秦正云
阅读此书不仅能够深入了解Go语言的原理机制,还能学到大量的Go语言项目实战经验。例如,书中有一个完整的小程序示例,该示例诠释了Go语言在大型商业项目上快速开发的能力。作为服务器软件的开发人员和编程从业者,我很好喜欢这本书。
石墨文档资深架构师 彭友顺
在云原生时代,掌握了Golang可以说是占据了先机。而这本书浅显易懂,案例丰富,还包含丰富的“踩坑”经验,是新手入门和进阶读者的很好读物。
Golang资深架构师,Beego 核心committer 邓明"
— 没有更多了 —
以下为对购买帮助不大的评价