在好例子网,分享、交流、成长!
您当前所在位置:首页Go 开发实例Go语言基础 → go语言开发入门级教程.pdf

go语言开发入门级教程.pdf

Go语言基础

下载此实例
  • 开发语言:Go
  • 实例大小:25.53M
  • 下载次数:81
  • 浏览次数:269
  • 发布时间:2020-03-08
  • 实例类别:Go语言基础
  • 发 布 人:sunlight-lg
  • 文件格式:.pdf
  • 所需积分:2
 相关标签: Go语言 开发 语言

实例介绍

【实例简介】
【实例截图】

【核心代码】

第 1 章 GOLANG 开山篇........................................................................................................................................................... 1
1.1 GOLANG 的学习方向............................................................................................................................................................. 1
1.2 GOLANG 的应用领域............................................................................................................................................................. 1
1.2.1 区块链的应用开发........................................................................................................................................1
1.2.2 后台的服务应用............................................................................................................................................2
1.2.3 云计算/云服务后台应用...............................................................................................................................2
1.3 学习方法的介绍................................................................................................................................................................... 3
1.4 讲课的方式的说明............................................................................................................................................................... 4
第 2 章 GOLANG 的概述........................................................................................................................................................... 5
2.1 什么是程序........................................................................................................................................................................... 5
2.2 GO 语言的诞生小故事..........................................................................................................................................................5
2.2.1 Go 语言的核心开发团队-三个大牛............................................................................................................. 6
2.2.2 Google 创造 Golang 的原因.......................................................................................................................... 6
2.2.3 Golang 的发展历程........................................................................................................................................6
2.3 GOLANG 的语言的特点......................................................................................................................................................... 7
2.4 GOLANG 的开发工具的介绍.................................................................................................................................................8
2.4.1 工具介绍........................................................................................................................................................8
2.4.2 工具选择:....................................................................................................................................................9
2.4.3 VSCode 的安装和使用................................................................................................................................ 10
2.4.4 小结..............................................................................................................................................................14
2.5 WINDOWS 下搭建 GO 开发环境-安装和配置 SDK........................................................................................................... 15
2.5.1 介绍了 SDK.................................................................................................................................................15
2.5.2 下载 SDK 工具包........................................................................................................................................15
2.5.3 windows 下安装 sdk.....................................................................................................................................16
2.5.4 windows 下配置 Golang 环境变量:......................................................................................................... 17
2.6 LINUX 下搭建 GO 开发环境-安装和配置 SDK.................................................................................................................20
2.6.1 Linux 下安装 SDK:................................................................................................................................... 20
2.6.2 Linux 下配置 Golang 环境变量.................................................................................................................. 21
2.7 MAC 下搭建 GO 开发环境-安装和配置 SDK................................................................................................................... 21
2.7.1 mac 下安装 Go 的 sdk..................................................................................................................................21
2.7.2 Mac 下配置 Golang 环境变量:.................................................................................................................22
2.8 GO 语言快速开发入门........................................................................................................................................................22
2.8.1 需求..............................................................................................................................................................22
2.8.2 开发的步骤..................................................................................................................................................22
2.8.3 linux 下如何开发 Go 程序...........................................................................................................................24
2.8.4 Mac 下如何开发 Go 程序............................................................................................................................25

 第 III页
2.8.5 go 语言的快速入门的课堂练习..................................................................................................................26
2.8.6 Golang 执行流程分析..................................................................................................................................27
2.8.7 编译和运行说明..........................................................................................................................................27
2.8.8 Go 程序开发的注意事项.............................................................................................................................28
2.9 GO 语言的转义字符(ESCAPE CHAR)................................................................................................................................... 29
2.10 GOLANG 开发常见问题和解决方法.................................................................................................................................31
2.10.1 文件名或者路径错误................................................................................................................................31
2.10.2 小结和提示................................................................................................................................................31
2.11 注释(COMMENT)................................................................................................................................................................ 32
2.11.1 介绍注释.................................................................................................................................................... 32
2.11.2 在 Golang 中注释有两种形式..................................................................................................................32
2.12 规范的代码风格............................................................................................................................................................... 33
2.12.1 正确的注释和注释风格:........................................................................................................................33
2.12.2 正确的缩进和空白....................................................................................................................................33
2.13 GOLANG 官方编程指南....................................................................................................................................................35
2.14 GOLANG 标准库 API 文档............................................................................................................................................... 36
2.15 DOS 的常用指令(了解)..................................................................................................................................................... 37
2.15.1 dos 的基本介绍.......................................................................................................................................... 37
2.15.2 dos 的基本操作原理.................................................................................................................................. 37
2.15.3 目录操作指令............................................................................................................................................38
2.15.4 文件的操作................................................................................................................................................40
2.15.5 其它指令....................................................................................................................................................41
2.15.6 综合案例....................................................................................................................................................41
2.16 课后练习题的评讲...........................................................................................................................................................41
2.17 本章的知识回顾............................................................................................................................................................... 42
第 3 章 GOLANG 变量............................................................................................................................................................. 44
3.1 为什么需要变量................................................................................................................................................................. 44
3.1.1 一个程序就是一个世界..............................................................................................................................44
3.1.2 变量是程序的基本组成单位......................................................................................................................44
3.2 变量的介绍......................................................................................................................................................................... 45
3.2.1 变量的概念..................................................................................................................................................45
3.2.2 变量的使用步骤..........................................................................................................................................45
3.3 变量快速入门案例............................................................................................................................................................. 45
3.4 变量使用注意事项............................................................................................................................................................. 46
3.5 变量的声明,初始化和赋值.............................................................................................................................................49
3.6 程序中  号的使用.............................................................................................................................................................50
3.7 数据类型的基本介绍.........................................................................................................................................................50
3.8 整数类型............................................................................................................................................................................. 50

 第 IV页
3.8.1 基本介绍......................................................................................................................................................50
3.8.2 案例演示......................................................................................................................................................51
3.8.3 整数的各个类型..........................................................................................................................................51
3.8.4 整型的使用细节..........................................................................................................................................52
3.9 小数类型/浮点型................................................................................................................................................................53
3.9.1 基本介绍......................................................................................................................................................53
3.9.2 案例演示......................................................................................................................................................53
3.9.3 小数类型分类..............................................................................................................................................53
3.9.4 浮点型使用细节..........................................................................................................................................55
3.10 字符类型........................................................................................................................................................................... 55
3.10.1 基本介绍....................................................................................................................................................55
3.10.2 案例演示....................................................................................................................................................55
3.10.3 字符类型使用细节....................................................................................................................................56
3.10.4 字符类型本质探讨....................................................................................................................................57
3.11 布尔类型........................................................................................................................................................................... 57
3.11.1 基本介绍.................................................................................................................................................... 57
3.11.2 案例演示.................................................................................................................................................... 57
3.12 STRING 类型........................................................................................................................................................................58
3.12.1 基本介绍....................................................................................................................................................58
3.12.2 案例演示....................................................................................................................................................58
3.12.3 string 使用注意事项和细节.......................................................................................................................58
3.13 基本数据类型的默认值...................................................................................................................................................60
3.13.1 基本介绍....................................................................................................................................................60
3.13.2 基本数据类型的默认值如下....................................................................................................................60
3.14 基本数据类型的相互转换...............................................................................................................................................60
3.14.1 基本介绍....................................................................................................................................................60
3.14.2 基本语法....................................................................................................................................................60
3.14.3 案例演示....................................................................................................................................................61
3.14.4 基本数据类型相互转换的注意事项....................................................................................................... 61
3.14.5 课堂练习....................................................................................................................................................62
3.15 基本数据类型和 STRING 的转换......................................................................................................................................63
3.15.1 基本介绍....................................................................................................................................................63
3.15.2 基本类型转 string 类型.............................................................................................................................63
3.15.3 string 类型转基本数据类型.......................................................................................................................65
3.15.4 string 转基本数据类型的注意事项.......................................................................................................... 66
3.16 指针................................................................................................................................................................................... 66
3.16.1 基本介绍....................................................................................................................................................66
3.16.2 案例演示....................................................................................................................................................67
3.16.3 指针的课堂练习........................................................................................................................................68

 第 V页
3.16.4 指针的使用细节........................................................................................................................................68
3.17 值类型和引用类型...........................................................................................................................................................68
3.17.1 值类型和引用类型的说明........................................................................................................................68
3.17.2 值类型和引用类型的使用特点................................................................................................................69
3.18 标识符的命名规范...........................................................................................................................................................69
3.18.1 标识符概念................................................................................................................................................70
3.18.2 标识符的命名规则....................................................................................................................................70
3.18.3 标识符的案例............................................................................................................................................70
3.18.4 标识符命名注意事项................................................................................................................................71
3.19 系统保留关键字............................................................................................................................................................... 73
3.20 系统的预定义标识符.......................................................................................................................................................73
第 4 章 运算符............................................................................................................................................................................ 74
4.1 运算符的基本介绍............................................................................................................................................................. 74
4.2 算术运算符......................................................................................................................................................................... 74
4.2.1 算术运算符的一览表..................................................................................................................................74
4.2.2 案例演示......................................................................................................................................................74
4.2.3 算术运算符使用的注意事项......................................................................................................................76
4.2.4 课堂练习 1...................................................................................................................................................76
4.2.5 课堂练习 2...................................................................................................................................................77
4.3 关系运算符(比较运算符).................................................................................................................................................. 77
4.3.1 基本介绍......................................................................................................................................................77
4.3.2 关系运算符一览图......................................................................................................................................78
4.3.3 案例演示......................................................................................................................................................78
4.3.4 关系运算符的细节说明..............................................................................................................................78
4.4 逻辑运算符......................................................................................................................................................................... 79
4.4.1 基本介绍......................................................................................................................................................79
4.4.2 逻辑运算的说明..........................................................................................................................................79
4.4.3 案例演示......................................................................................................................................................79
4.4.4 注意事项和细节说明..................................................................................................................................80
4.5 赋值运算符......................................................................................................................................................................... 80
4.5.1 基本的介绍..................................................................................................................................................80
4.5.2 赋值运算符的分类......................................................................................................................................81
4.5.3 赋值运算的案例演示..................................................................................................................................81
4.5.4 赋值运算符的特点......................................................................................................................................82
4.5.5 面试题..........................................................................................................................................................82
4.6 位运算符............................................................................................................................................................................. 83
4.7 其它运算符说明................................................................................................................................................................. 83
4.7.1 课堂案例......................................................................................................................................................84

 第 VI页
4.8 特别说明............................................................................................................................................................................. 85
4.9 运算符的优先级................................................................................................................................................................. 86
4.9.1 运算符的优先级的一览表..........................................................................................................................86
4.9.2 对上图的说明..............................................................................................................................................86
4.10 键盘输入语句................................................................................................................................................................... 87
4.10.1 介绍............................................................................................................................................................ 87
4.10.2 步骤 :......................................................................................................................................................87
4.10.3 案例演示:................................................................................................................................................88
4.11 进制................................................................................................................................................................................... 89
4.11.1 进制的图示................................................................................................................................................ 89
4.11.2 进制转换的介绍........................................................................................................................................90
4.11.3 其它进制转十进制....................................................................................................................................91
4.11.4 二进制如何转十进制................................................................................................................................91
4.11.5 八进制转换成十进制示例........................................................................................................................92
4.11.6 16 进制转成 10 进制..................................................................................................................................92
4.11.7 其它进制转 10 进制的课堂练习..............................................................................................................92
4.11.8 十进制如何转成其它进制........................................................................................................................92
4.11.9 十进制如何转二进制................................................................................................................................93
4.11.10 十进制转成八进制..................................................................................................................................93
4.11.11 十进制转十六进制.................................................................................................................................. 94
4.11.12 课堂练习.................................................................................................................................................. 94
4.11.13 二进制转换成八进制、十六进制..........................................................................................................94
4.11.14 二进制转换成八进制..............................................................................................................................95
4.11.15 二进制转成十六进制..............................................................................................................................95
4.11.16 八进制、十六进制转成二进制..............................................................................................................95
4.11.17 八进制转换成二进制..............................................................................................................................96
4.11.18 十六进制转成二进制..............................................................................................................................96
4.12 位运算............................................................................................................................................................................... 96
4.12.1 位运算的思考题........................................................................................................................................96
4.12.2 二进制在运算中的说明............................................................................................................................97
4.12.3 原码、反码、补码....................................................................................................................................98
4.12.4 位运算符和移位运算符............................................................................................................................98
第 5 章 程序流程控制..............................................................................................................................................................101
5.1 程序流程控制介绍...........................................................................................................................................................101
5.2 顺序控制........................................................................................................................................................................... 101
5.2.1 顺序控制的一个流程图............................................................................................................................101
5.2.2 顺序控制举例和注意事项........................................................................................................................102
5.3 分支控制........................................................................................................................................................................... 102

 第 VII页
5.3.1 分支控制的基本介绍................................................................................................................................102
5.3.2 单分支控制................................................................................................................................................103
5.3.3 双分支控制................................................................................................................................................104
5.3.4 单分支和双分支的案例............................................................................................................................106
5.3.5 多分支控制................................................................................................................................................109
5.3.6 嵌套分支.................................................................................................................................................... 114
5.4 SWITCH 分支控制................................................................................................................................................................116
5.4.1 基本的介绍................................................................................................................................................ 116
5.4.2 基本语法.................................................................................................................................................... 116
5.4.3 switch 的流程图..........................................................................................................................................117
5.4.4 switch 快速入门案例................................................................................................................................. 118
5.4.5 switch 的使用的注意事项和细节............................................................................................................. 118
5.4.6 switch 的课堂练习..................................................................................................................................... 122
5.4.7 switch 和 if 的比较.....................................................................................................................................124
5.5 FOR 循环控制..................................................................................................................................................................... 124
5.5.1 基本介绍....................................................................................................................................................124
5.5.2 一个实际的需求........................................................................................................................................124
5.5.3 for 循环的基本语法................................................................................................................................... 125
5.5.4 for 循环执行流程分析............................................................................................................................... 126
5.5.5 for 循环的使用注意事项和细节讨论.......................................................................................................127
5.5.6 for 循环的课堂练习................................................................................................................................... 129
5.6 WHILE 和 DO..WHILE 的实现.............................................................................................................................................. 130
5.6.1 while 循环的实现.......................................................................................................................................130
5.6.2 do..while 的实现.........................................................................................................................................131
5.7 多重循环控制(重点,难点)............................................................................................................................................ 132
5.7.1 基本介绍....................................................................................................................................................132
5.7.2 应用案例....................................................................................................................................................133
5.8 跳转控制语句-BREAK.......................................................................................................................................................137
5.8.1 看一个具体需求,引出 break..................................................................................................................137
5.8.2 break 的快速入门案例...............................................................................................................................137
5.8.3 基本介绍:................................................................................................................................................138
5.8.4 基本语法:................................................................................................................................................138
5.8.5 以 for 循环使用 break 为例,画出示意图.................................................................................................138
5.8.6 break 的注意事项和使用细节...................................................................................................................139
5.8.7 课堂练习....................................................................................................................................................140
5.9 跳转控制语句-CONTINUE................................................................................................................................................. 141
5.9.1 基本介绍:................................................................................................................................................141
5.9.2 基本语法:................................................................................................................................................141
5.9.3 continue 流程图.......................................................................................................................................... 141

 第 VIII页
5.9.4 案例分析 continue 的使用........................................................................................................................142
5.9.5 continu 的课堂练习....................................................................................................................................142
5.10 跳转控制语句-GOTO....................................................................................................................................................... 143
5.10.1 goto 基本介绍...........................................................................................................................................144
5.10.2 goto 基本语法...........................................................................................................................................144
5.10.3 goto 的流程图...........................................................................................................................................144
5.10.4 快速入门案例..........................................................................................................................................144
5.11 跳转控制语句-RETURN................................................................................................................................................... 145
5.11.1 介绍:...................................................................................................................................................... 145
第 6 章 函数、包和错误处理..................................................................................................................................................146
6.1 为什么需要函数............................................................................................................................................................... 146
6.1.1 请大家完成这样一个需求:.......................................................................................................................146
6.1.2 使用传统的方法解决................................................................................................................................146
6.2 函数的基本概念............................................................................................................................................................... 147
6.3 函数的基本语法............................................................................................................................................................... 147
6.4 快速入门案例................................................................................................................................................................... 147
6.5 包的引出........................................................................................................................................................................... 148
6.6 包的原理图....................................................................................................................................................................... 148
6.7 包的基本概念................................................................................................................................................................... 149
6.8 包的三大作用................................................................................................................................................................... 149
6.9 包的相关说明................................................................................................................................................................... 149
6.10 包使用的快速入门.........................................................................................................................................................149
6.11 包使用的注意事项和细节讨论.....................................................................................................................................151
6.12 函数的调用机制............................................................................................................................................................. 153
6.12.1 通俗易懂的方式的理解..........................................................................................................................153
6.12.2 函数-调用过程........................................................................................................................................ 153
6.12.3 return 语句................................................................................................................................................ 154
6.13 函数的递归调用............................................................................................................................................................. 155
6.13.1 基本介绍..................................................................................................................................................155
6.13.2 递归调用快速入门..................................................................................................................................156
6.13.3 递归调用的总结......................................................................................................................................157
6.13.4 递归课堂练习题......................................................................................................................................158
6.14 函数使用的注意事项和细节讨论.................................................................................................................................160
6.15 函数的课堂练习............................................................................................................................................................. 165
6.16 INIT 函数...........................................................................................................................................................................166
6.16.1 基本介绍..................................................................................................................................................166
6.16.2 案例说明:..............................................................................................................................................166
6.16.3 inti 函数的注意事项和细节.................................................................................................................... 167

 第 IX页
6.17 匿名函数......................................................................................................................................................................... 168
6.17.1 介绍..........................................................................................................................................................168
6.17.2 匿名函数使用方式 1...............................................................................................................................169
6.17.3 匿名函数使用方式 2...............................................................................................................................169
6.17.4 全局匿名函数..........................................................................................................................................169
6.18 闭包................................................................................................................................................................................. 170
6.18.1 介绍..........................................................................................................................................................170
6.18.2 案例演示:..............................................................................................................................................170
6.18.3 闭包的最佳实践......................................................................................................................................171
6.19 函数的 DEFER..................................................................................................................................................................173
6.19.1 为什么需要 defer.....................................................................................................................................173
6.19.2 快速入门案例..........................................................................................................................................173
6.19.3 defer 的注意事项和细节......................................................................................................................... 173
6.19.4 defer 的最佳实践......................................................................................................................................174
6.20 函数参数传递方式.........................................................................................................................................................175
6.20.1 基本介绍..................................................................................................................................................175
6.20.2 两种传递方式..........................................................................................................................................175
6.20.3 值类型和引用类型..................................................................................................................................175
6.20.4 值传递和引用传递使用特点..................................................................................................................175
6.21 变量作用域..................................................................................................................................................................... 176
6.21.1 变量作用域的课堂练习..........................................................................................................................178
6.22 函数课堂练习(综合)...................................................................................................................................................... 179
6.23 字符串常用的系统函数.................................................................................................................................................180
6.24 时间和日期相关函数.....................................................................................................................................................184
6.24.1 基本的介绍..............................................................................................................................................184
6.24.2 时间和日期的课堂练习..........................................................................................................................188
6.25 内置函数......................................................................................................................................................................... 188
6.25.1 说明:......................................................................................................................................................188
6.26 错误处理......................................................................................................................................................................... 189
6.26.1 看一段代码,因此错误处理..................................................................................................................189
6.26.2 基本说明..................................................................................................................................................190
6.26.3 使用 defer recover 来处理错误............................................................................................................. 190
6.26.4 错误处理的好处......................................................................................................................................191
6.26.5 自定义错误..............................................................................................................................................191
6.26.6 自定义错误的介绍..................................................................................................................................191
6.26.7 案例说明..................................................................................................................................................191
第 7 章 数组与切片..................................................................................................................................................................193
7.1 为什么需要数组............................................................................................................................................................... 193

 第 X页
7.2 数组介绍........................................................................................................................................................................... 193
7.3 数组的快速入门............................................................................................................................................................... 194
7.4 数组定义和内存布局.......................................................................................................................................................194
7.5 数组的使用....................................................................................................................................................................... 195
7.6 数组的遍历....................................................................................................................................................................... 196
7.6.1 方式 1-常规遍历:...................................................................................................................................... 196
7.6.2 方式 2-for-range 结构遍历........................................................................................................................196
7.7 数组使用的注意事项和细节...........................................................................................................................................197
7.8 数组的应用案例............................................................................................................................................................... 200
7.9 为什么需要切片............................................................................................................................................................... 202
7.10 切片的基本介绍............................................................................................................................................................. 202
7.11 快速入门......................................................................................................................................................................... 203
7.12 切片在内存中形式(重要).............................................................................................................................................. 203
7.13 切片的使用..................................................................................................................................................................... 204
7.14 切片的遍历..................................................................................................................................................................... 206
7.15 切片的使用的注意事项和细节讨论.............................................................................................................................206
7.16 STRING 和 SLICE................................................................................................................................................................209
7.17 切片的课堂练习题......................................................................................................................................................... 211
第 8 章 排序和查找..................................................................................................................................................................213
8.1 排序的基本介绍............................................................................................................................................................... 213
8.2 冒泡排序的思路分析.......................................................................................................................................................213
8.3 冒泡排序实现................................................................................................................................................................... 214
8.4 课后练习........................................................................................................................................................................... 215
8.5 查找................................................................................................................................................................................... 215
8.6 二维数组的介绍............................................................................................................................................................... 220
8.7 二维数组的应用场景.......................................................................................................................................................220
8.8 二维数组快速入门...........................................................................................................................................................220
8.9 使用方式 1: 先声明/定义,再赋值...................................................................................................................................221
8.10 使用方式 2: 直接初始化...............................................................................................................................................222
8.11 二维数组的遍历............................................................................................................................................................. 223
8.12 二维数组的应用案例.....................................................................................................................................................223
第 9 章 MAP............................................................................................................................................................................. 225
9.1 MAP 的基本介绍................................................................................................................................................................ 225
9.2 MAP 的声明........................................................................................................................................................................ 225
9.2.1 基本语法....................................................................................................................................................225
9.2.2 map 声明的举例.........................................................................................................................................225
9.3 MAP 的使用........................................................................................................................................................................ 226

 第 XI页
9.4 MAP 的增删改查操作........................................................................................................................................................ 228
9.5 MAP 遍历:........................................................................................................................................................................ 230
9.6 MAP 切片............................................................................................................................................................................ 231
9.6.1 基本介绍....................................................................................................................................................231
9.6.2 案例演示....................................................................................................................................................231
9.7 MAP 排序............................................................................................................................................................................ 233
9.7.1 基本介绍....................................................................................................................................................233
9.7.2 案例演示....................................................................................................................................................233
9.8 MAP 使用细节.................................................................................................................................................................... 234
9.9 MAP 的课堂练习题............................................................................................................................................................ 235
第 10 章 面向对象编程(上)..................................................................................................................................................... 238
10.1 结构体............................................................................................................................................................................. 238
10.1.1 看一个问题..............................................................................................................................................238
10.1.2 使用现有技术解决..................................................................................................................................238
10.1.3 现有技术解决的缺点分析......................................................................................................................239
10.1.4 一个程序就是一个世界,有很多对象(变量).......................................................................................239
10.1.5 Golang 语言面向对象编程说明..............................................................................................................239
10.1.6 结构体与结构体变量(实例/对象)的关系示意图..................................................................................240
10.1.7 快速入门-面向对象的方式(struct)解决养猫问题................................................................................ 240
10.1.8 结构体和结构体变量(实例)的区别和联系...........................................................................................241
10.1.9 结构体变量(实例)在内存的布局(重要!)...............................................................................................241
10.1.10 如何声明结构体....................................................................................................................................242
10.1.11 字段/属性...............................................................................................................................................242
10.1.12 创建结构体变量和访问结构体字段................................................................................................... 245
10.1.13 struct 类型的内存分配机制...................................................................................................................247
10.1.14 结构体使用注意事项和细节................................................................................................................249
10.2 方法................................................................................................................................................................................. 252
10.2.1 基本介绍..................................................................................................................................................252
10.2.2 方法的声明和调用..................................................................................................................................253
10.2.3 方法快速入门..........................................................................................................................................255
10.2.4 方法的调用和传参机制原理:(重要!)...............................................................................................256
10.2.5 方法的声明(定义)................................................................................................................................... 257
10.2.6 方法的注意事项和细节..........................................................................................................................258
10.2.7 方法的课堂练习题..................................................................................................................................260
10.2.8 方法的课后练习题..................................................................................................................................264
10.2.9 方法和函数区别......................................................................................................................................264
10.3 面向对象编程应用实例.................................................................................................................................................266
10.3.1 步骤..........................................................................................................................................................266

 第 XII页
10.3.2 学生案例:..............................................................................................................................................266
10.3.3 小狗案例 [学员课后练习].....................................................................................................................268
10.3.4 盒子案例..................................................................................................................................................268
10.3.5 景区门票案例..........................................................................................................................................269
10.4 创建结构体变量时指定字段值.....................................................................................................................................270
10.5 工厂模式......................................................................................................................................................................... 271
10.5.1 说明..........................................................................................................................................................271
10.5.2 看一个需求..............................................................................................................................................272
10.5.3 工厂模式来解决问题..............................................................................................................................272
10.5.4 思考题......................................................................................................................................................274
第 11 章 面向对象编程(下)..................................................................................................................................................... 275
11.1 VSCODE 的使用............................................................................................................................................................... 275
11.1.1 VSCode 使用技巧和经验........................................................................................................................ 275
11.2 面向对象编程思想-抽象................................................................................................................................................276
11.2.1 抽象的介绍.............................................................................................................................................. 276
11.2.2 代码实现.................................................................................................................................................. 276
11.3 面向对象编程三大特性-封装........................................................................................................................................280
11.3.1 基本介绍.................................................................................................................................................. 280
11.3.2 封装介绍.................................................................................................................................................. 280
11.3.3 封装的理解和好处..................................................................................................................................280
11.3.4 如何体现封装..........................................................................................................................................281
11.3.5 封装的实现步骤......................................................................................................................................281
11.3.6 快速入门案例..........................................................................................................................................282
11.3.7 课堂练习(学员先做)............................................................................................................................... 284
11.4 面向对象编程三大特性-继承........................................................................................................................................288
11.4.1 看一个问题,引出继承的必要性..........................................................................................................288
11.4.2 继承基本介绍和示意图..........................................................................................................................292
11.4.3 嵌套匿名结构体的基本语法..................................................................................................................293
11.4.4 快速入门案例..........................................................................................................................................293
11.4.5 继承给编程带来的便利..........................................................................................................................297
11.4.6 继承的深入讨论......................................................................................................................................297
11.4.7 课堂练习.................................................................................................................................................. 300
11.4.8 面向对象编程-多重继承........................................................................................................................ 301
11.5 接口(INTERFACE)............................................................................................................................................................. 302
11.5.1 基本介绍.................................................................................................................................................. 302
11.5.2 为什么有接口..........................................................................................................................................302
11.5.3 接口快速入门..........................................................................................................................................303
11.5.4 接口概念的再说明..................................................................................................................................306

 第 XIII页
11.5.5 基本语法.................................................................................................................................................. 306
11.5.6 接口使用的应用场景..............................................................................................................................306
11.5.7 注意事项和细节......................................................................................................................................307
11.5.8 课堂练习.................................................................................................................................................. 311
11.5.9 接口编程的最佳实践..............................................................................................................................312
11.5.10 实现接口 vs 继承................................................................................................................................ 316
11.6 面向对象编程-多态........................................................................................................................................................319
11.6.1 基本介绍.................................................................................................................................................. 319
11.6.2 快速入门.................................................................................................................................................. 319
11.6.3 接口体现多态的两种形式......................................................................................................................320
11.7 类型断言......................................................................................................................................................................... 322
11.7.1 由一个具体的需要,引出了类型断言..................................................................................................322
11.7.2 基本介绍.................................................................................................................................................. 323
11.7.3 类型断言的最佳实践 1...........................................................................................................................324
11.7.4 类型断言的最佳实践 2...........................................................................................................................327
11.7.5 类型断言的最佳实践 3 【学员自己完成】.........................................................................................329
第 12 章 项目 1-家庭收支记账软件项目............................................................................................................................... 330
12.1 项目开发流程说明.........................................................................................................................................................330
12.2 项目需求说明................................................................................................................................................................. 330
12.3 项目的界面..................................................................................................................................................................... 330
12.4 项目代码实现................................................................................................................................................................. 331
12.4.1 实现基本功能(先使用面向过程,后面改成面向对象)..........................................................................331
12.4.2 项目代码实现改进..................................................................................................................................334
12.4.3 对项目的扩展功能的练习......................................................................................................................341
第 13 章 项目 2-客户信息关系系统....................................................................................................................................... 342
13.1 项目需求分析................................................................................................................................................................. 342
13.2 项目的界面设计............................................................................................................................................................. 342
13.3 客户关系管理系统的程序框架图.................................................................................................................................344
13.4 项目功能实现-显示主菜单和完成退出软件功能....................................................................................................... 344
13.5 项目功能实现-完成显示客户列表的功能................................................................................................................... 349
13.6 项目功能实现-添加客户的功能................................................................................................................................... 353
13.7 项目功能实现-完成删除客户的功能........................................................................................................................... 356
13.8 项目功能实现-完善退出确认功能(课后作业)....................................................................................................... 359
13.9 客户关系管理系统-课后练习....................................................................................................................................... 360
第 14 章 文件操作....................................................................................................................................................................361
14.1 文件的基本介绍............................................................................................................................................................. 361
14.2 打开文件和关闭文件.....................................................................................................................................................362

 第 XIV页
14.3 读文件操作应用实例.....................................................................................................................................................363
14.4 写文件操作应用实例.....................................................................................................................................................365
14.4.1 基本介绍-os.OpenFile 函数....................................................................................................................365
14.4.2 基本应用实例-方式一............................................................................................................................ 366
14.4.3 基本应用实例-方式二............................................................................................................................ 371
14.4.4 判断文件是否存在..................................................................................................................................372
14.5 文件编程应用实例.........................................................................................................................................................373
14.5.1 拷贝文件..................................................................................................................................................373
14.5.2 统计英文、数字、空格和其他字符数量............................................................................................. 375
14.6 命令行参数..................................................................................................................................................................... 377
14.6.1 看一个需求..............................................................................................................................................377
14.6.2 基本介绍..................................................................................................................................................378
14.6.3 举例说明..................................................................................................................................................378
14.6.4 flag 包用来解析命令行参数................................................................................................................... 378
14.7 JSON 基本介绍..................................................................................................................................................................379
14.8 JSON 数据格式说明..........................................................................................................................................................380
14.9 JSON 数据在线解析..........................................................................................................................................................381
14.10 JSON 的序列化................................................................................................................................................................382
14.11 JSON 的反序列化............................................................................................................................................................386
第 15 章 单元测试....................................................................................................................................................................391
15.1 先看一个需求................................................................................................................................................................. 391
15.2 传统的方法..................................................................................................................................................................... 391
15.2.1 传统的方式来进行测试..........................................................................................................................391
15.2.2 传统方法的缺点分析..............................................................................................................................392
15.3 单元测试-基本介绍........................................................................................................................................................392
15.4 单元测试-快速入门........................................................................................................................................................393
15.4.1 单元测试快速入门总结..........................................................................................................................394
15.5 单元测试-综合案例........................................................................................................................................................395
第 16 章 GOROUTINE 和 CHANNEL...............................................................................................................................400
16.1 GOROUTINE-看一个需求.................................................................................................................................................. 400
16.2 GOROUTINE-基本介绍...................................................................................................................................................... 400
16.2.1 进程和线程介绍......................................................................................................................................400
16.2.2 程序、进程和线程的关系示意图..........................................................................................................400
16.2.3 并发和并行..............................................................................................................................................401
16.2.4 Go 协程和 Go 主线程..............................................................................................................................402
16.3 GOROUTINE-快速入门...................................................................................................................................................... 403
16.3.1 案例说明..................................................................................................................................................403

 第 XV页
16.3.2 快速入门小结..........................................................................................................................................405
16.4 GOROUTINE 的调度模型...................................................................................................................................................405
16.4.1 MPG 模式基本介绍................................................................................................................................. 405
16.4.2 MPG 模式运行的状态 1..........................................................................................................................406
16.4.3 MPG 模式运行的状态 2..........................................................................................................................406
16.5 设置 GOLANG 运行的 CPU 数.........................................................................................................................................407
16.6 CHANNEL(管道)-看个需求...............................................................................................................................................408
16.6.1 不同 goroutine 之间如何通讯................................................................................................................ 410
16.6.2 使用全局变量加锁同步改进程序..........................................................................................................411
16.6.3 为什么需要 channel................................................................................................................................ 412
16.6.4 channel 的基本介绍................................................................................................................................. 412
16.6.5 定义/声明 channel................................................................................................................................... 413
16.6.6 管道的初始化,写入数据到管道,从管道读取数据及基本的注意事项.........................................413
16.6.7 channel 使用的注意事项......................................................................................................................... 415
16.6.8 读写 channel 案例演示........................................................................................................................... 416
16.7 管道的课后练习题.........................................................................................................................................................419
16.8 CHANNEL 的遍历和关闭..................................................................................................................................................419
16.8.1 channel 的关闭......................................................................................................................................... 419
16.8.2 channel 的遍历......................................................................................................................................... 420
16.8.3 channel 遍历和关闭的案例演示............................................................................................................. 420
16.8.4 应用实例 1...............................................................................................................................................421
16.8.5 应用实例 2-阻塞..................................................................................................................................... 424
16.8.6 应用实例 3...............................................................................................................................................425
16.9 CHANNEL 使用细节和注意事项......................................................................................................................................429
第 17 章 反射............................................................................................................................................................................ 435
17.1 先看一个问题,反射的使用场景.................................................................................................................................435
17.2 使用反射机制,编写函数的适配器, 桥连接..............................................................................................................435
17.3 反射的基本介绍............................................................................................................................................................. 436
17.3.1 基本介绍..................................................................................................................................................436
17.3.2 反射的应用场景......................................................................................................................................436
17.3.3 反射重要的函数和概念..........................................................................................................................437
17.4 反射的快速入门............................................................................................................................................................. 439
17.4.1 快速入门说明..........................................................................................................................................439
17.5 反射的注意事项和细节.................................................................................................................................................442
17.6 反射课堂练习................................................................................................................................................................. 444
17.7 反射最佳实践................................................................................................................................................................. 445
17.8 课后作业......................................................................................................................................................................... 449
第 18 章 TCP 编程................................................................................................................................................................... 450

 第 XVI页
18.1 看两个实际应用............................................................................................................................................................. 450
18.2 网络编程基本介绍.........................................................................................................................................................450
18.2.1 网线,网卡,无线网卡................................................................................................................................450
18.2.2 协议(tcp/ip).............................................................................................................................................. 451
18.2.3 OSI 与 Tcp/ip 参考模型 (推荐 tcp/ip 协议 3 卷)...................................................................................451
18.2.4 ip 地址.......................................................................................................................................................452
18.2.5 端口(port)-介绍....................................................................................................................................... 453
18.2.6 端口(port)-分类....................................................................................................................................... 454
18.2.7 端口(port)-使用注意............................................................................................................................... 454
18.3 TCP SOCKET 编程的客户端和服务器端..........................................................................................................................455
18.4 TCP SOCKET 编程的快速入门.......................................................................................................................................... 455
18.4.1 服务端的处理流程..................................................................................................................................455
18.4.2 客户端的处理流程..................................................................................................................................455
18.4.3 简单的程序示意图..................................................................................................................................456
18.4.4 代码的实现..............................................................................................................................................456
18.5 经典项目-海量用户即时通讯系统............................................................................................................................... 461
18.5.1 项目开发流程..........................................................................................................................................461
18.5.2 需求分析..................................................................................................................................................462
18.5.3 界面设计..................................................................................................................................................462
18.5.4 项目开发前技术准备..............................................................................................................................462
18.5.5 实现功能-显示客户端登录菜单............................................................................................................ 463
18.5.6 实现功能-完成用户登录........................................................................................................................ 466
18.5.7 实现功能-完成注册用户........................................................................................................................ 501
18.5.8 实现功能-完成登录时能返回当前在线用户........................................................................................ 509
18.5.9 实现功能-完成登录用可以群聊............................................................................................................ 520
18.5.10 聊天的项目的扩展功能要求................................................................................................................529
第 19 章 REDIS 的使用...........................................................................................................................................................530
19.1 REDIS 基本介绍............................................................................................................................................................... 530
19.1.1 Redis 的安装.............................................................................................................................................530
19.1.2 Redis 操作的基本原理图.........................................................................................................................530
19.2 REDIS 的安装和基本使用............................................................................................................................................... 531
19.2.1 Redis 的启动:............................................................................................................................................531
19.3 REDIS 的操作指令一览................................................................................................................................................... 531
19.3.1 Redis 的基本使用:....................................................................................................................................532
19.4 REDIS 的 CRUD 操作........................................................................................................................................................ 533
19.4.1 Redis 的五大数据类型:........................................................................................................................... 533
19.4.2 String(字符串) -介绍................................................................................................................................533
19.4.3 String(字符串)-使用细节和注意事项.....................................................................................................534

 第 XVII页
19.4.4 Hash (哈希,类似 golang 里的 Map)-介绍............................................................................................535
19.4.5 Hash(哈希,类似 golang 里的 Map)-CRUD.................................................................................... 536
19.4.6 Hash-使用细节和注意事项..................................................................................................................... 537
19.4.7 课堂练习..................................................................................................................................................537
19.4.8 List(列表)-介绍................................................................................................................................... 538
19.4.9 List(列表)-CRUD................................................................................................................................ 538
19.4.10 List-使用细节和注意事项..................................................................................................................... 540
19.4.11 Set(集合) - 介绍.....................................................................................................................................540
19.4.12 Set(集合)- CRUD....................................................................................................................................541
19.4.13 Set 课堂练习...........................................................................................................................................542
19.5 GOLANG 操作 REDIS........................................................................................................................................................ 542
19.5.1 安装第三方开源 Redis 库.......................................................................................................................542
19.5.2 Set/Get 接口..............................................................................................................................................543
19.5.3 操作 Hash.................................................................................................................................................544
19.5.4 批量 Set/Get 数据....................................................................................................................................548
19.5.5 给数据设置有效时间..............................................................................................................................549
19.5.6 操作 List...................................................................................................................................................549
19.5.7 Redis 链接池.............................................................................................................................................549
第 20 章 数据结构....................................................................................................................................................................554
20.1 数据结构(算法)的介绍.................................................................................................................................................. 554
20.2 数据结构和算法的关系.................................................................................................................................................554
20.3 看几个实际编程中遇到的问题.....................................................................................................................................554
20.4 稀疏 SPARSEARRAY 数组.................................................................................................................................................557
20.4.1 先看一个实际的需求..............................................................................................................................557
20.4.2 基本介绍..................................................................................................................................................557
20.4.3 稀疏数组举例说明..................................................................................................................................558
20.4.4 应用实例..................................................................................................................................................558
20.5 队列(QUEUE)....................................................................................................................................................................563
20.5.1 队列的应用场景......................................................................................................................................563
20.5.2 队列介绍..................................................................................................................................................563
20.5.3 数组模拟队列..........................................................................................................................................564
20.5.4 数组模拟环形队列..................................................................................................................................569
20.6 链表................................................................................................................................................................................. 575
20.6.1 链表介绍..................................................................................................................................................575
20.6.2 单链表的介绍..........................................................................................................................................575
20.6.3 单链表的应用实例..................................................................................................................................576
20.6.4 双向链表的应用实例..............................................................................................................................582
20.6.5 单向环形链表的应用场景......................................................................................................................590

 第 XVIII页
20.6.6 环形单向链表介绍..................................................................................................................................591
20.6.7 环形的单向链表的案例..........................................................................................................................591
20.6.8 环形单向链表的应用实例......................................................................................................................597
20.7 排序................................................................................................................................................................................. 603
20.7.1 排序的介绍..............................................................................................................................................603
20.7.2 冒泡排序..................................................................................................................................................603
20.7.3 选择排序基本介绍..................................................................................................................................603
20.7.4 选择排序思想:.........................................................................................................................................604
20.7.5 选择排序的示意图..................................................................................................................................604
20.7.6 代码实现..................................................................................................................................................604
20.7.7 插入排序法介绍:.....................................................................................................................................605
20.7.8 插入排序法思想:.....................................................................................................................................606
20.7.9 插入排序的示意图..................................................................................................................................606
20.7.10 插入排序法应用实例............................................................................................................................606
20.7.11 插入排序的代码实现............................................................................................................................607
20.7.12 快速排序法介绍....................................................................................................................................607
20.7.13 快速排序法示意图................................................................................................................................608
20.7.14 快速排序法应用实例............................................................................................................................608
20.7.15 快速排序法的代码实现........................................................................................................................608
20.7.16 三种排序方法的速度的分析................................................................................................................611
20.8 栈..................................................................................................................................................................................... 611
20.8.1 看一个实际需求......................................................................................................................................611
20.8.2 栈的介绍..................................................................................................................................................612
20.8.3 栈的入栈和出栈的示意图......................................................................................................................612
20.8.4 栈的应用场景..........................................................................................................................................613
20.8.5 栈的案例..................................................................................................................................................613
20.8.6 栈实现综合计算器..................................................................................................................................615
20.9 递归................................................................................................................................................................................. 624
20.9.1 递归的一个应用场景[迷宫问题]...........................................................................................................624
20.9.2 递归的概念..............................................................................................................................................624
20.9.3 递归快速入门..........................................................................................................................................624
20.9.4 递归用于解决什么样的问题..................................................................................................................625
20.9.5 递归需要遵守的重要原则......................................................................................................................625
20.9.6 举一个比较综合的案例,迷宫问题.........................................................................................................626
20.10 哈希表(散列)................................................................................................................................................................ 630
20.10.1 实际的需求............................................................................................................................................630
20.10.2 哈希表的基本介绍................................................................................................................................630
20.10.3 使用 hashtable 来实现一个雇员的管理系统[增删改查].................................................................. 631

标签: Go语言 开发 语言

实例下载地址

go语言开发入门级教程.pdf

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警