Golang是Google公司2009年11月正式对外公开的一门编程语言,它不仅拥有静态编译语言的安全和高性能,而 且又达到了动态语言开发速度和易维护性。有人形容Go语言:Go = C + Python , 说明Go语言既有C语言程序的运行速度,又能达到Python语言的快速开发。Gin是一个go写的web框架,具有高性能的优点。
此套Golang基础入门及Gin入门教程学习前需要具备html? css? js这三个基础,老师循序渐进,手把手教学,很容易上手,入门Go语言学习这个完全就够用了。想要进阶高级实战的话也有,不过是官方是收费的,这里就不分享了。这里分享免费的入门教程,视频 笔记 源码等配套资料都有提供,相信对刚入门无从下手的童鞋会有所帮助。
一、 Go语言介绍、Go Win环境搭建、Go语言开发工具Vscode配置(13分22秒)
1、 Go语言介绍
2、 Go语言成功的项目
3、 哪些大公司在用go语言
4、 Go语言前景
5、 Go环境win环境搭建
6、 Go语言开发工具Vscode配置
7、 Go语言vscode插件安装失败解决方法
?
二、 Go语言 Mac电脑环境搭建、开发工具Vscode配置(6分18秒)
1、 Go环境mac环境搭建
2、 Go语言开发工具Vscode配置
3、 Go语言vscode插件安装失败解决方法
?
三、GoLang 定义变量、 fmt包、Println、Printf、Go语言注释(17分59秒)
1、 Go语言定义变量
2、 fmt包、Print、Println、Printf
3、 Go语言中的注释
?
四、GoLang变量 常量 变量命名规则(上)(28分34秒)
1、变量的来历
2、变量类型
3、GO语言中变量的声明
4、Go语言中的常量
5、Go语言变量、常量命名规则
6、Go语言代码风格
?
五、GoLang变量 常量 变量命名规则 代码风格((下)(22分17秒)
1、变量的来历
2、变量类型
3、GO语言中变量的声明
4、Go语言中的常量
5、Go语言变量、常量命名规则
6、Go语言代码风格
?
六、GoLang语言基本数据类型-整型详解(25分59秒)
1、Golang有符号整形
2、Golang无符号整形
3、Golang unsafe.Sizeof
4、格式化输出
?
七、GoLang语言基本数据类型-浮点型 布尔型详解(30分45秒)
1、Float32?
2、Float64
3、Golang 浮点型精度损失
4、布尔型详解
?
十、GoLang中基本数据类型之间的转换(33分23秒)
1、关于golang中的数据类型转换
2、数值类型之间的相互转换
3、其他类型转换成String类型
4、String类型转换成数值类型
5、数值类型没法和bool类型进行转换
十一、Golang中的运算符-算术运算符、关系运算符、逻辑运算符、赋值运算符(36分59秒)
1、算术运算符
2、关系运算符
3、逻辑运算符
4、位运算符
5、赋值运算符
?
?十二、 Golang中的运算符的几个练习 位运算符(15分57秒)
1、练习1:有两个变量,a和b,要求将其进行交换,最终打印结果
2、练习2:有两个变量,a和b,要求将其进行交换(不能使用中间变量),最终打印结果
3、练习3:假如还有100天放假,问:xx个星期零xx天
4、练习4:定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式
?
十七、Golang中的数组-数组的循环遍历(31分10秒)
1、Array(数组)的介绍
2、数组定义
3、数组的初始化
4、数组的遍历
1、切片是引用数据类型--注意切片的赋值拷贝
2、append()方法为切片添加元素
3、切片的扩容策略
4、使用copy()函数复制切片
5、从切片中删除元素????
6、练习题
?
二十一、 Golang切片排序算法 选择排序、冒泡排序、sort包排序(26分47秒)
1、 选择排序
2、 冒泡排序
3、 Golang内置Sort包对切片进行排序
?
二十二、 Golang map 详解(上)(29分24秒)
1、map的介绍
2、map基本使用
3、判断某个键是否存在
4、map的遍历
5、使用delete()函数删除键值对
二十三、 Golang map 详解(下)(30分52秒)
1、【案例】按照指定顺序遍历map
2、元素为map类型的切片
3、值为切片类型的map
?
二十四、 Golang函数详解-函数定义、函数参数、函数返回值(1)(25分59秒)
1、函数定义
2、函数参数
3、函数返回值
?
二十五、 Golang函数详解 实例演示切片、map当做参数、函数变量作用域(2)(23分59秒)
1、切片作为参数
2、Map对象作为参数
3、函数变量作用域
?
二十六、 Golang函数详解 函数作为参数 、函数作为返回值、匿名函数(3)(28分20秒)
1、函数作为参数
2、函数作为返回值
3、匿名函数
?
二十七、 Golang函数详解 函数递归、匿名函数、闭包(24分30秒)
1、函数递归
2、匿名函数
3、闭包
?
二十八、 Golang函数详解 defer panic recover(32分22秒)
1、panic?
2、错误处理
3、defer panic recover异常处理
?
二十九、 Golang time包以及日期函数(33分47秒)
1、time包
2、time.Now()获取当前时间
3、now.Format格式化输出日期字符串
4、time.Now()获取当前的时间戳
5、时间戳转换为日期字符串(年-月-日 时:分:秒)
6、now.Format 把时间戳格式化成日期
7、日期字符串转换成时间戳
8、时间间隔
9、时间操作函数
10、定时器
?
三十、Golang 指针详解 、make new方法分配内存(28分32秒)
1、关于指针
2、指针地址和指针类型
3、指针取值
4、指针传值示例
5、new和make
?
三十一、Golang中的结构体详解(1)(24分54秒)
1、关于Golang结构体
2、Golang type关键词自定义类型和类型别名
3、结构体定义初始化的几种方法
?
三十二、Golang中的结构体详解 结构体方法 给自定义类型增加方法(21分26秒)(2)
1、结构体方法和接收者
2、给任意类型添加方法
3、结构体的匿名字段
?
三十三、Golang中的结构体详解 嵌套结构体 结构体继承(3)(30分57秒)
1、嵌套结构体
2、嵌套匿名结构体
3、关于嵌套结构体的字段名冲突?
4、结构体的继承
?
三十四、Golang结构体和Json相互转换 序列化 反序列化(29分49秒)
1、 关于JSON数据
2、 结构体与JSON序列化
3、 结构体标签Tag
4、 嵌套结构体和JSON序列化反序列化
5、 关于Map、切片的序列化反序列化
?
三十五、Golang 中的 go mod 以及 Golang 包详解(1)(29分50秒)
1、 Golang中包的介绍和定义
2、 Golang包管理工具 go mod
3、 Golang中自定义包
?
三十六、Golang 中的 go mod 以及第三方包(2)(18分22秒)
1、 Golang中init()初始化函数
2、 Golang中使用第三方包
?
三十七、Golang中的接口详解-接口介绍、接口定义、实现接口(1)
1、 接口的介绍
2、 Golang接口的定义
?
三十八、Golang中的接口详解、空接口、类型断言(2)
1、 空接口
2、 类型断言
?
三十九、Golang中的接口详解、结构体实现多接口、接口嵌套、结构体指针接收者实现接口(3)
1、 结构体值接收者和指针接收者实现接口的区别
2、 一个结构体实现多个接口
3、 接口嵌套
4、结构体指针接收者实现接口
四十、Golang中空接口和类型断言使用细节-类型断言输出空接口类型结构体属性(4)(12分20秒)
四十一、Golang goroutine channel实现并发和并行(1)(30分49秒)
1、 为什么要使用goroutine
2、 进程、线程以及并行、并发
3、 Golang中的协程(goroutine)以及主线程
4、 Goroutine的使用以及sync.WaitGroup
5、 启动多个Goroutine
6、 设置Golang 并行运行的时候占用的cup数量
7、 Goroutine统计素数
8、 Channel管道 channel类型 创建channel channel操作 管道阻塞 for range从管道循环取值
9、 Goroutine结合Channel管道
10、单向管道
11、select多路复用
12、 Golang并发安全和锁
13、 Goroutine Recover解决协程中出现的Panic
四十二、Golang goroutine channel实现并发和并行(2)(18分32秒)
四十三、Golang? goroutine channe(3)(35分48秒)
四十四、Golang? goroutine channe(4)(33分37秒)
四十五、Golang? goroutine channe 单向管道、select多路复用、goroutine panic处理(5)(19分21秒)
四十六、Golang? goroutine 互斥锁 读写互斥锁(6)(21分55秒)
1、互斥锁
2、读写互斥锁?
?
四十七、Golang 反射 反射的引出、反射获取变量类型变量值、反射修改变量值(1)(41分12秒)
1、 反射的引子
2、 反射的基本介绍
3、 reflect.TypeOf()获取任意值的类型对象
四十八、Golang 反射 结构体反射详解(41分51秒)
4、 reflect.ValueOf()
5、结构体反射
6、不要乱用反射
四十九、Golang 文件 目录操作(1)(39分57秒)
1、打开和关闭文件
2、file.Read() 读取文件
3、循环读取
4、bufio读取文件
5、ioutil读取整个文件
6、文件写入操作
7、文件重命名
?
五十、Golang 文件 目录操作(2)(26分17秒)
1、复制文件
2、创建目录
3、删除目录和文件
?
1、Gin环境搭建 Gin程序的热加载 Gin路由 GET POST PUT DELETE(23分7秒)
1、Gin 介绍
2、Gin环境搭建
3、Gin项目的热加载
4、搭建Gin环境
5、Gin路由? 简单的路由配置?GET POST PUT DELETE
2、Gin路由中响应数据 c.String() c.JSON() c.JSONP() c.XML() c.HTML()(23分12秒)
1、Gin中响应字符串
2、Gin中返回Json数据
3、Gin处理Jsonp请求
4、Gin 返回Xml数据
5、Gin渲染Html
?
3、Gin HTML模板渲染以及模板语法 (上)
1、Gin模板配置的几种方法
2、{{.}} 输出数据
3、模板中绑定结构体数据
4、模板中条件判断
5、模板中定义变量
6、模板中循环遍历range
7、with
8、define 自定义模板
9、模板的引入
?
4、Gin HTML模板渲染以及模板语法 自定义模板函数? 静态文 件服务(下)(29分14秒)
1、Gin模板语法嵌套template
2、Gin模板语法预定义函数
3、Gin自定义模板函数
4、Gin?静态文件服务
?
5、Get Post以及动态路由传值、Get Post数据解析到结构体、 Post Xml数据解析到结构体
1、Get传参演示
2、Post传参演示
3、Post数据放在结构体中
4、RequestBody获取post提交的XMl数据
5、PostMan模拟提交数据 Put Delete
6、Gin路由分组 Gin路由文件抽离(17分54秒)
1、Gin路由分组?
2、Gin路由文件抽离
7、Gin中自定义控制器以及实现控制器的继承(23分46秒)
1、Gin中自定义控制器
2、Gin中控制器的继承
8、Gin中间件详解 路由中间件 全局中间件 路由分组中间件(38分 55秒)
1、Gin中间件详解?
2、路由中间件 中间件执行流程
3、全局中间件 路由分组中间件
9、Gin框架中自定义Model(8分13秒)
1、Gin框架中自定义Model
2、Gin 控制器中引入Model
3、全局模板函数调用Model中的方法
?
10、Gin中实现单文件上传 多文件上传(29分21秒)
1、Gin中实现单文件上传
2、Gin多文件上传--不同名字的多个文件
3、多文件上传--相同名字的多个文件
?
11、Gin按照日期存储图片(17分46秒)
1、根据日期生成目录
2、根据日期生成文件后缀名
3、上传类型判断
??
12、Gin中的Cookie 以及多个二级域名共享 cookie(23分57秒)
1、Cookie介绍
2、Cookie能实现的功能
3、设置和获取 Cookie
4、多个二级域名共享cookie
?
13、Gin Session的设置获取以及Session保存到Redis数据库实现 分布式Session(20分17秒)
1、Session简单介绍
2、Session的工作流程
3、Gin中使用 Session
4、基于Cookie存储Session
5、基于Redis存储Session
?
14、【Gin+Mysql】Mysql数据库安装、Navicat可视化工 具安装(13分18秒)
?
15、【Gin+Mysql】连接Mysql、Mysql数据库表的增、删、改、查(38分42秒)
?
16、【Gin+Mysql】MySQL字段类型、 查询语句详解? IN OR AND BETWEEN、 分组函 数、别名(31分52秒)
?
17、【Gin+Mysql】数据库表之间的关系 、Mysql中的关联查询(内连接,外连接,自连接)(36分5秒)
?
18、【Gin+Mysql】Mysql索引?海量数据查询 优化(21分22秒)
?
19、【Gin+Mysql】Mysql事务 transaction?与?锁定lock 视频(15分8秒)
?
20、【Gin+GORM】Gin GORM的配 置以及实现数据库表的增删改查(41分1秒)
?
21、【Gin+GORM】Gin GORM 查询语句详解、GORM 原生 SQL 和 SQL 生成器(40分48秒)
?
22、【Gin+GORM】Gin GORM 多表关联查询 一对 一、 一对多(23分29秒)
?
23、【Gin+GORM】Gin GORM 多表关联查询 多对 多 子集筛选 自定义预加载SQL(36分57秒)
?
24、【Gin+GORM】GORM 中使用事务(15分41秒)
?
25 Gin中使用go-ini加载.ini配置文件(16分12秒)
1、go-ini介绍
2、go-ini使用
3、从.ini中读取mysql配置
?
?
?