书籍作者:欢喜 | ISBN:9787121407482 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:5168 |
创建日期:2021-10-07 | 发布日期:2021-10-07 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
《Go语言极简一本通:零基础入门到项目实战》是一本Go 语言入门书,全书共分为三部分。第一部分讲解Go 语言基础知识,包括变量与简单类型、数组、切片、流程控制、字典、函数、结构体与方法、接口等,可以帮助读者快速掌握Go 语言的基本程序结构。第二部分讲解Go 语言高效并发相关知识,包括协程与通道、并发资源、包管理和测试等,让读者对Go 语言层面的并发支持有更深入的理解。第三部分讲解Go 语言项目实战,包括Gin 框架、生活点评项目实战、账户管理系统实战,以及OAuth 2.0 的授权协议等。实战则把前面讲解的知识点运用起来,帮助读者快速上手,积累项目经验。
本书适合具有其他语言基础,想学习Go 语言的开发者阅读。即使没有任何编程经验,也能通过学习本书快速掌握Go 语言。
欢喜,微信公众号 “面向加薪学习” 的作者,B站 “面向加薪学习”的作者, “GoCn” 小组成员,在社区连载了一系列 Go 语言相关的技术文章,并在B站发布了一系列Go语言相关视频,均广受欢迎。拥有多年国内一线互联网公司从业经验,主导全栈项目,擅长Go、Java、Vue、移动开发(Flutter)和小程序(Taro),拥有丰富的大型网站架构经验。
为什么要学习Go语言? Go语言具有天生支持高并发、语法简洁等特点,因此在云计算、微服务、大数据、区块链和物联网等领域发展得如火如荼。开发者掌握Go语言,不仅可以作为进入“大厂”的敲门砖,还可以提高个人职场竞争力。 本书内容 本书是一本Go语言入门书,全书共分为三部分。 第一部分讲解Go语言基础知识,包括变量与简单类型、数组、切片、流程控制、字典、函数、结构体与方法、接口等,内容相对简洁,可以帮助读者快速掌握Go语言的基本程序结构。 第二部分讲解Go语言高效并发相关知识,包括协程与通道、并发资源、包管理和测试等,让读者对Go语言层面的并发支持有更深入的理解。 第三部分讲解Go语言项目实战,包括Gin框架、生活点评项目实战、账户管理系统实战,以及OAuth 2.0的授权协议等。实战则把前面讲解的知识点运用起来,帮助读者快速上手,积累项目经验。 本书特色 系统设计:从基础知识、底层原理到有趣的案例,帮助读者理解晦涩的概念,让枯燥的编程变得有趣。 案例实操:本书设计了很多的代码示例,从读者的视角,演示了一些容易出bug的场景,以免读者“掉到坑里”。此外,本书还引入了很多生活化的场景,比如用美食、做饭、抢位置等例子比喻协程和通道的高并发原理,让学习不再枯燥。 贴近实际:本书所用的例子均源于众多学习者的反馈,其中,仿大众点评小程序的后端完全用Go语言开发,前端用React开发,引导读者一起从后端到前端、从0到1完整开发一个产品。 除此之外,在和学习者的交流过程中,笔者还总结了一些常见问题的共性及解决方法,并有针对性地融入案例中。 本书适合的读者 1. 无编程经验的初学者。 2. 有其他语言基础,想学习Go语言的开发人员。 本书资源 本书配套源码与下载链接:https://github.com/i-coder-robot/book_final_code/。 作者的B站频道:https://space.bilibili.com/375038855。 勘误与反馈 在阅读本书过程中,如遇到任何问题,都可以通过下面的公众号与笔者交流反馈。 因时间及水平有限,书中难免有错漏之处,敬请读者不吝赐教,笔者将感激不尽。
第一部分 基础知识 第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.go 9 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 panic 83 7.10 recover 84 7.11 小结 85 第8章 结构体与方法 86 8.1 结构体概述 86 8.2 结构体的使用 88 8.3 匿名成员与结构体嵌套 89 8.4 结构体与JSON 91 8.5 方法 93 8.6 指针接收者方法 94 8.7 实参接收者type与*type 96 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 单向channel 129 10.7 无缓冲channel 130 10.8 缓冲channel 131 10.9 select 132 10.10 关闭channel 135 10.11 小结 136 第11章 并发资源 137 11.1 竞态 137 11.2 sync.Mutex与sync.RWMutex 139 11.3 条件变量 146 11.4 原子操作 149 11.5 WaitGroup类型与Once类型 152 11.6 context.Context类型 155 11.7 小结 159 第12章 包管理 161 12.1 go mod 161 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 RESTful 184 15.4 路由参数 185 15.5 URL查询参数的获取 186 15.6 接收数组和map 187 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 Viper 211 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
这本书不错,具有总结性的效果,可以没事抄书了……
2021-04-09 09:42:06
很哈哈哈哈哈哈哈哈哈哈哈哈好
2021-04-03 20:31:11
非常棒的书,晚上学习的话,可以让你学到想吃夜宵的节奏……???
2021-04-04 10:28:48