所有分类
  • 所有分类
  • 精品课程
  • 课件资料
  • 标准资料
  • 资料手册
  • 图纸模型
  • 解说文案

Go语言开发实战 慕课版 2020年版

Go语言开发实战 慕课版  

作者:千锋教育高教产品研发部 

出版时间:2020年版 

内容简介 

  本书共有14章,内容包括:初识Go语言、Go语言的基本语法、Go语言的流程控制、函数与指针、Go语言的内置容器、Go语言的常用内置包、Go语言面向对象编程、Go语言异常处理、Go语言文件IO操作、Go语言网络编程、Go语言数据库编程、Go语言并发编程、Go语言密码学算法、Beego框架项目实战。 

目录 

第1章 初识Go语言 1 

1.1 Go语言的发展历史 1 

1.2 Go语言的特性 2 

1.2.1 Go语言的特点和优势 2 

1.2.2 使用Go语言的项目与企业 3 

1.3 安装和配置Golang 3 

1.3.1 Windows版本安装 4 

1.3.2 Mac OS版本安装 6 

1.3.3 Linux版本安装 7 

1.4 搭建集成开发环境GoLand 7 

1.4.1 GoLand的下载及安装 7 

1.4.2 GoLand的使用 8 

1.4.3 编写第一个程序HelloWorld 8 

1.4.4 GoLand的快捷键 11 

1.5 Go语言的结构组成及编码规范 11 

1.5.1 Go语言的结构组成 11 

1.5.2 Go语言的标识符 12 

1.5.3 Go语言的编码规范 14 

1.6 本章小结 15 

1.7 习题 15 

第2章 Go语言的基本语法 16 

2.1 变量 16 

2.1.1 变量的概念 16 

2.1.2 变量声明 17 

2.1.3 变量多重赋值 18 

2.1.4 匿名变量 19 

2.2 数据类型 19 

2.2.1 整型 20 

2.2.2 浮点型 20 

2.2.3 复数型 21 

2.2.4 布尔型 21 

2.2.5 字符串 21 

2.2.6 字符 22 

2.3 打印格式化 23 

2.3.1 通用打印格式 23 

2.3.2 布尔型打印格式 23 

2.3.3 整型打印格式 24 

2.3.4 浮点型与复数型的打印格式 25 

2.3.5 字符串与字节数组的打印格式 27 

2.4 数据类型转换 27 

2.4.1 基本语法 27 

2.4.2 浮点型与整型之间转换 28 

2.4.3 整型转字符串类型 28 

2.5 常量 30 

2.5.1 声明方式 30 

2.5.2 常量用于枚举 30 

2.5.3 iota 31 

2.6 类型别名与类型定义 33 

2.7 Go语言的运算符 33 

2.7.1 算术运算符 34 

2.7.2 关系运算符 35 

2.7.3 逻辑运算符 36 

2.7.4 位运算符 37 

2.7.5 赋值运算符 40 

2.7.6 其他运算符 41 

2.8 运算符优先级 42 

2.9 本章小结 43 

2.10 习题 44 

第3章 Go语言的流程控制 45 

3.1 流程控制概述 45 

3.1.1 条件判断语句 45 

3.1.2 条件分支语句 45 

3.1.3 循环语句 46 

3.1.4 循环控制语句 46 

3.2 if条件判断语句 46 

3.2.1 语法结构 46 

3.2.2 使用案例 47 

3.2.3 特殊写法 48 

3.3 if嵌套语句 49 

3.3.1 语法结构 49 

3.3.2 使用案例 49 

3.4 switch分支语句 50 

3.4.1 语法结构 50 

3.4.2 使用案例 51 

3.4.3 类型转换 52 

3.5 for循环语句 53 

3.5.1 语法结构 53 

3.5.2 使用案例 57 

3.6 for嵌套循环语句 59 

3.6.1 语法结构 59 

3.6.2 使用案例 59 

3.7 循环控制语句 61 

3.7.1 break语句 61 

3.7.2 continue语句 62 

3.7.3 goto语句 63 

3.8 本章小结 64 

3.9 习题 64 

第4章 Go语言的函数与指针 66 

4.1 函数 66 

4.1.1 函数声明 66 

4.1.2 变量作用域 67 

4.1.3 函数变量(函数作为值) 69 

4.1.4 匿名函数 71 

4.1.5 闭包 73 

4.1.6 可变参数 76 

4.1.7 递归函数 77 

4.2 指针 79 

4.2.1 指针的概念 79 

4.2.2 声明指针 79 

4.2.3 空指针 82 

4.2.4 使用指针 82 

4.2.5 指针数组 83 

4.2.6 指针的指针 84 

4.3 函数的参数传递 85 

4.3.1 值传递(传值) 85 

4.3.2 引用传递(传引用) 85 

4.3.3 值传递和引用传递的细节问题 89 

4.4 本章小结 90 

4.5 习题 90 

第5章 Go语言的内置容器 92 

5.1 数组 92 

5.1.1 数组的概念 92 

5.1.2 数组的语法 92 

5.1.3 数组的长度 93 

5.1.4 遍历数组 94 

5.1.5 多维数组 94 

5.1.6 数组是值类型 96 

5.2 切片 97 

5.2.1 切片的概念 97 

5.2.2 切片的语法 97 

5.2.3 len()和cap()函数 99 

5.2.4 切片是引用类型 100 

5.2.5 append()和copy()函数 101 

5.3 map 104 

5.3.1 map的概念 104 

5.3.2 map的语法 105 

5.3.3 delete()函数 107 

5.3.4 map是引用类型 108 

5.4 本章小结 109 

5.5 习题 109 

第6章 Go语言的常用内置包 111 

6.1 字符串处理概述 111 

6.1.1 字符串处理包简介 111 

6.1.2 字符串的遍历 111 

6.2 strings包的字符串处理函数 113 

6.2.1 检索字符串 113 

6.2.2 分割字符串 116 

6.2.3 大小写转换 117 

6.2.4 修剪字符串 118 

6.2.5 比较字符串 120 

6.3 strconv包的常用函数 122 

6.3.1 Parse类函数 122 

6.3.2 Format类函数 123 

6.4 regexp正则表达式包 125 

6.4.1 正则表达式简介 125 

6.4.2 正则表达式中主要元字符 125 

6.4.3 regexp包中核心函数及方法 

介绍 127 

6.5 time包 130 

6.6 math包 133 

6.7 随机数 134 

6.7.1 rand包的核心方法介绍 135 

6.7.2 获取随机数的几种方式 135 

6.8 键盘输入 137 

6.8.1 Scanln()函数 137 

6.8.2 随机数+键盘输入案例——猜 

数字游戏 138 

6.9 本章小结 139 

6.10 习题 140 

第7章 Go语言面向对象编程 141 

7.1 面向对象思想概述 141 

7.1.1 面向过程与面向对象 141 

7.1.2 Go语言面向对象 142 

7.2 结构体 143 

7.2.1 定义结构体与实例化 143 

7.2.2 结构体的语法糖 144 

7.2.3 结构体是值类型 145 

7.2.4 结构体的深拷贝和浅拷贝 147 

7.2.5 结构体作为函数的参数及 

返回值 148 

7.2.6 匿名结构体和匿名字段 150 

7.2.7 结构体嵌套 152 

7.3 方法 155 

7.3.1 方法的概念 155 

7.3.2 基本语法 156 

7.3.3 方法和函数 157 

7.3.4 方法继承 158 

7.3.5 方法重写 159 

7.4 接口 160 

7.4.1 接口的概念 160 

7.4.2 接口的定义与实现 161 

7.4.3 duck typing 162 

7.4.4 多态 164 

7.4.5 空接口 166 

7.4.6 接口对象转型 167 

7.5 本章小结 170 

7.6 习题 170 

第8章 Go语言异常处理 172 

8.1 error 172 

8.1.1 error接口 172 

8.1.2 创建error对象 174 

8.1.3 自定义错误 175 

8.2 defer 177 

8.2.1 函数中使用defer 177 

8.2.2 方法中使用defer 178 

8.2.3 defer参数 179 

8.2.4 堆栈的推迟 179 

8.3 panic和recover机制 180 

8.3.1 panic 180 

8.3.2 recover 182 

8.4 本章小结 183 

8.5 习题 183 

第9章 Go语言文件I/O操作 185 

9.1 文件信息 185 

9.1.1 文件概述 185 

9.1.2 FileInfo接口 185 

9.1.3 文件路径 188 

9.2 文件常规操作 189 

9.2.1 创建目录 189 

9.2.2 创建文件 190 

9.2.3 打开和关闭文件 191 

9.2.4 删除文件 192 

9.3 读写文件及复制文件 193 

9.3.1 读取文件 193 

9.3.2 写入文件 194 

9.3.3 复制文件 196 

9.4 ioutil包 197 

9.4.1 ioutil包核心函数 197 

9.4.2 示例代码 197 

9.5 bufio包 199 

9.5.1 缓冲区的原理 199 

9.5.2 bufio.Reader结构体 200 

9.5.3 bufio.Writer结构体 201 

9.5.4 Scanner 203 

9.6 本章小结 205 

9.7 习题 205 

第10章 Go语言网络编程 206 

10.1 HTTP概述 206 

10.1.1 HTTP的概念 206 

10.1.2 HTTP请求方法 207 

10.1.3 HTTPS通信原理 207 

10.1.4 HTTPS的作用 207 

10.2 HTTP协议客户端实现 208 

10.3 HTTP协议服务端实现 213 

10.3.1 启动Web服务的几种方式 213 

10.3.2 服务器端获取客户端请求的 

数据 218 

10.4 Golang模板 221 

10.4.1 模板的概念 221 

10.4.2 基本语法 221 

10.5 JSON编码 224 

10.5.1 JSON简介 224 

10.5.2 map转JSON 225 

10.5.3 结构体转JSON 226 

10.5.4 结构体字段标签 227 

10.5.5 匿名字段 228 

10.5.6 注意事项 228 

10.6 JSON解析 229 

10.6.1 JSON转切片 229 

10.6.2 JSON转结构体 229 

10.6.3 结构体字段标签 230 

10.6.4 匿名字段 231 

10.7 本章小结 232 

10.8 习题 232 

第11章 Go语言数据库编程 233 

11.1 数据库介绍 233 

11.2 MySQL数据库的使用 234 

11.2.1 服务启动和停止MySQL服务 234 

11.2.2 登录和退出MySQL数据库 236 

11.2.3 MySQL数据库基本操作 238 

11.3 MySQL数据类型 238 

11.3.1 数值类型 238 

11.3.2 日期时间类型 239 

11.3.3 字符串类型 239 

11.4 SQL基础入门 240 

11.4.1 SQL语言简介 240 

11.4.2 SQL分类 240 

11.4.3 DDL语句基本用法 241 

11.4.4 DML语句基本用法 243 

11.4.5 DQL语句基本用法 244 

11.5 Go程序操作MySQL数据库 245 

11.5.1 安装MySQL模块 245 

11.5.2 导入包 246 

11.5.3 连接数据库 246 

11.5.4 增删改数据 246 

11.5.5 查询数据 247 

11.5.6 示例代码 248 

11.6 本章小结 253 

11.7 习题 253 

第12章 Go语言并发编程 255 

12.1 并发和并行 255 

12.1.1 单道程序与多道程序 255 

12.1.2 并发与并行的区别 255 

12.2 进程和线程 256 

12.2.1 程序与进程 256 

12.2.2 进程与线程的区别 256 

12.2.3 进程与线程的联系 256 

12.3 Goroutine 257 

12.3.1 协程的概念 257 

12.3.2 Go语言中的协程 257 

12.3.3 Coroutine与Goroutine 257 

12.3.4 普通函数创建Goroutine 258 

12.3.5 匿名函数创建Goroutine 260 

12.3.6 启动多个Goroutine 261 

12.3.7 调整并发的运行性能 261 

12.4 channel 262 

12.4.1 channel的概述 262 

12.4.2 创建channel类型 262 

12.4.3 使用channel发送数据 263 

12.4.4 通过channel接收数据 263 

12.4.5 阻塞 265 

12.4.6 关闭channel 266 

12.4.7 缓冲channel 267 

12.4.8 单向channel 270 

12.5 time包中与channel相关的 

函数 271 

12.5.1 Timer结构体 271 

12.5.2 NewTimer()函数 272 

12.5.3 After()函数 273 

12.6 select分支语句 273 

12.6.1 执行流程 273 

12.6.2 示例代码 274 

12.7 sync包 275 

12.7.1 同步等待组 276 

12.7.2 互斥锁 277 

12.7.3 读写互斥锁 279 

12.7.4 条件变量 281 

12.8 本章小结 283 

12.9 习题 283 

第13章 Go语言密码学算法 285 

13.1 Hash算法 285 

13.1.1 Hash的定义 285 

13.1.2 流行的Hash算法 286 

13.1.3 Hash与加密解密的区别 287 

13.1.4 SHA-256 287 

13.1.5 核心代码 288 

13.2 对称加密算法 291 

13.2.1 对称加密简介 291 

13.2.2 DES和3DES算法 291 

13.2.3 AES算法 292 

13.2.4 AES的加密模式 292 

13.2.5 填充方式 293 

13.2.6 核心代码 293 

13.3 非对称加密算法 299 

13.3.1 非对称加密简介 299 

13.3.2 非对称加密算法实现数字签名 299 

13.3.3 RSA算法 300 

13.3.4 核心代码 300 

13.4 椭圆曲线加密算法和椭圆曲线数字 

签名算法 304 

13.4.1 椭圆曲线加密简介 304 

13.4.2 数字签名的概念 305 

13.4.3 核心代码 306 

13.5 字符编码与解码 308 

13.5.1 Base64 308 

13.5.2 Base58 309 

13.6 本章小结 311 

13.7 习题 312 

第14章 Beego框架项目 

实战 313 

14.1 Beego框架介绍及项目初始化 

配置 313 

14.1.1 Beego简介 313 

14.1.2 Beego框架的主要特性 313 

14.1.3 Beego安装 314 

14.1.4 bee工具的使用 315 

14.1.5 创建项目 315 

14.1.6 结构分析 317 

14.1.7 路由设置 320 

14.2 Elm后台管理平台项目介绍 321 

14.2.1 项目介绍 321 

14.2.2 项目效果展示 321 

14.2.3 整体架构简介 322 

14.3 数据库配置及ORM映射 323 

14.3.1 ORM简介 323 

14.3.2 Beego项目中使用MySQL 323 

14.3.3 数据导入 325 

14.3.4 接口文档说明 325 

14.3.5 模块开发 325 

14.3.6 数据格式封装 327 

14.4 Redis 328 

14.4.1 Redis简介 328 

14.4.2 Redis安装 328 

14.4.3 Redis操作与使用 329 

14.4.4 项目中使用Redis 330 

14.4.5 登录管理员退出操作 331 

14.4.6 文件操作 331 

14.4.7 数据库表关系映射 333 

14.5 项目功能完善 334 

14.5.1 商户模块功能开发 334 

14.5.2 食品模块功能开发 336 

14.5.3 订单模块功能开发 338 

14.5.4 添加数据记录模块开发 339 

14.6 本章小结 342 

14.7 习题 342 

资源下载
下载价格10 金币
VIP免费
0
没有账号?注册  忘记密码?

社交账号快速登录