Golang基础入门及Gin入门教程(2024完整版)

news2024/11/15 22:25:22

Golang是Google公司2009年11月正式对外公开的一门编程语言,它不仅拥有静态编译语言的安全和高性能,而 且又达到了动态语言开发速度和易维护性。有人形容Go语言:Go = C + Python , 说明Go语言既有C语言程序的运行速度,又能达到Python语言的快速开发。Gin是一个go写的web框架,具有高性能的优点。

此套Golang基础入门及Gin入门教程学习前需要具备html  css  js这三个基础,老师循序渐进,手把手教学,很容易上手,入门Go语言学习这个完全就够用了。想要进阶高级实战的话也有,不过是官方是收费的,这里就不分享了。这里分享免费的入门教程,视频 笔记 源码等配套资料都有提供,相信对刚入门无从下手的童鞋会有所帮助。

Go语言-Golang Gin Go Gorm Go-Micro微服务k8s教程 2023年6月更新_哔哩哔哩_bilibiliGo语言-Golang Gin Go Gorm Go-Micro微服务k8s教程 2023年6月更新共计88条视频,包括:【Golang教程】Go语言介绍 、Golang Win环境搭建、Golang开发工具配置、【golang教程】Go语言 Mac电脑环境搭建、开发工具Vscode配置、【golang教程】Go定义变量、 fmt包、Println、Printf、Go语言注释_jq等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV1XY4y1t76G?p

Golang零基础入门实战教程包含以下内容:

一、 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分35秒)
1、字符串转义符 
2、多行字符串
3、字符串的常用操作函数
 
九、GoLang byte 和 rune 类型(22分51秒)
1、Byte类型
2、rune类型
3、字符串和Byte类型 rune类型的转换
 

十、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中的流程控制  if else for的基本使用(1)(25分17秒)
1、if条件判断基本写法
2、if条件判断特殊写法
3、for(循环结构)
4、for无限循环
5、for嵌套
 
十四、 Golang中的流程控制  if for的一些练习 以及 for嵌套循环(2)(23分47秒)
1、求N个数的和
2、求N个数的阶乘
3、打印一个矩形
4、打印一个三角形
5、打印出九九乘法表
 
十五、 Golang中的流程控制  for range swirch case(3)(22分32秒)
1、for range遍历数据
2、switch case
3、switch 的穿透 fallthrought
 
十六、Golang流程控制 continue break goto(16分33秒)
1、continue
2、break
3、goto
 

十七、Golang中的数组-数组的循环遍历(31分10秒)

1、Array(数组)的介绍

2、数组定义

3、数组的初始化

4、数组的遍历

5、数组是值类型
 
十八、 Golang多维数组 值类型 引用类型 (18分32秒)
1、多维数组
2、值类型 引用类型详解
 
十九、 Golang中的切片详解(上)(28分39秒)
1、为什么要使用切片
2、切片的定义
3、关于 nil 的认识
4、切片的循环遍历
5、基于数组定义切片
6、切片再切片
7、关于切片的长度和容量
8、切片的本质
9、使用make()函数构造切片
10、切片不能直接比较
 
二十、Golang中的切片详解(下)(34分17秒)

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、删除目录和文件

 

2024Gin入门实战教程包含以下内容:

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配置

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1376929.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

抖店开通后下一步做什么?最新教程如下,手把手教你设置店铺功能

我是王路飞。 上篇文章给你们说了下2024年最新的抖店开通、入驻流程,还没看到的可以去看下。 既然店铺已经开通了,那接下来自然就是运营店铺了。 很多新手小白也是开店很积极,但真正开始运营的时候就抓瞎了,不知道店铺开通后下…

【深入挖掘Java技术】「源码原理体系」盲点问题解析之HashMap工作原理全揭秘(下)

盲点问题解析之HashMap工作原理全揭秘 承接上文创建HashMap对象参考容量(capacity)Hashmap内部有一个机制扩容阈值(threshold)负载因子(loadFactor) HashMap存储元素的过程HashMap的put方法JDK8的扩容机制N…

使用curl命令在Linux上进行HTTP请求

在Linux系统中,curl是一个非常强大的命令行工具,用于发送各种类型的HTTP请求。通过简单的命令,你可以发送GET、POST、PUT、DELETE等请求,以及设置请求头、处理响应等。以下是一些使用curl进行HTTP请求的常见用法和示例。 1. 发送…

(十)IIC总线-PCF8591-ADC/DAC

文章目录 IIC总线篇起始,终止信号应答信号发送,读取数据IIC通讯规则 PCF8591-ADC-DAC篇特性一般说明地址Control byte(控制字)简单了解一下DAC电阻分隔链应用为王DAC的应用ADC的应用ADC采集特点ADC读模式 ADC现象演示DAC现象演示 …

八、Stm32学习-USART-中断与接收数据包

1.通信接口 全双工就是数据的收和发可以同时进行;半双工就是数据的收和发不能同时进行。 异步时钟是设备双方需要约定对应的波特率;同步时钟是设备双方有一根时钟线,发送或接收数据是根据这根时钟线来的。 单端电平是需要共GND;…

uniapp 打包成 apk(原生APP-云打包)免费

修改APP配置 根据需求,修改 manifest.json 配置,常见的修改有: 应用名称,应用版本名称,应用版本号 升级版本时,应用版本名称和应用版本号必须高于上一版的值 应用图标 点浏览选择png格式的图片后&#x…

【VPN技术】简述几种常见VPN技术并比较其异同点

VPN技术是一种可以在公共网络上建立加密通道的技术,通过这种技术可以使远程用户访问公司内部网络资源时,实现安全的连接和数据传输。 下面以四种常见的VPN技术,分别介绍各自的特点和适用场景,然后进行异同点的比较。 PPTP&#x…

微信私域,如何实现高效回复客户消息?

随着微信用户数量的增加,人们的需求也越来越多。其中有一项就是全天候及时回复消息,不让好友等待。当企业拥有多个微信号进行私域流量管理时,如何做到及时回复客户消息呢? 下面给大家分享高效回复客户消息的秘诀,帮助提…

highlight.js 实现搜索关键词高亮效果 ,显示匹配数量及切换显示功能

先看效果&#xff1a; 更新&#xff1a;增加切换显示 折腾了老半天&#xff0c;记录一下 注意事项都写注释了 代码&#xff1a; <template><div class"absolute-lt wh-full overflow-hidden p-10"><div style"width: 200px"><el-…

研究了Web版Photoshop,提升自己=提升价值

Adobe 发布了Web版 Photoshop&#x1f517;&#xff0c;它是使用 WebAssembly、web components、P3 颜色等 Web 技术构建的。本文就来研究一下网页版 Photoshop 上有趣又有用的 CSS 知识&#xff01; Photoshop 旧 Logo 首先&#xff0c;在浏览器控制台中使用了 Photoshop 的 …

【数字人】9、DiffTalk | 使用扩散模型基于 audio-driven+对应人物视频 合成说话头(CVPR2023)

论文&#xff1a;DiffTalk: Crafting Diffusion Models for Generalized Audio-Driven Portraits Animation 代码&#xff1a;https://sstzal.github.io/DiffTalk/ 出处&#xff1a;CVPR2023 特点&#xff1a;需要音频对应人物的视频来合成新的说话头视频&#xff0c;嘴部抖…

基于python的Hurst计算预测未来发展趋势(长时序栅格影像)

1.Hurst指数反映了时间序列长期记忆性的程度&#xff0c;即过去的信息对未来的影响程度。Hurst指数的取值范围为0到1之间&#xff0c;当Hurst指数等于0.5时&#xff0c;时间序列被认为是一种随机漫步&#xff0c;即具有随机性&#xff1b;当Hurst指数大于0.5时&#xff0c;时间…

JAVA基础学习笔记-day17-反射

JAVA基础学习笔记-day17-反射 1. 反射(Reflection)的概念1.1 反射的出现背景1.2 反射概述1.3 Java反射机制研究及应用1.4 反射相关的主要API1.5 反射的优缺点 2. 理解Class类并获取Class实例2.1 理解Class2.1.1 理论上2.1.2 内存结构上 2.2 获取Class类的实例(四种方法)2.3 哪些…

【MySQL】本地创建MySQL数据库详解

文章目录 下载MySQL安装重置密码本地连接 下载MySQL 下载网址&#xff1a;https://dev.mysql.com/downloads/mysql/ 安装 将下载好的压缩包解压到D盘。 在解压好的文件夹中创建my.ini文件。 将以下代码复制粘贴到创建好的my.ini文件中。注意修改文件路径。 [mysqld] #设置…

重生奇迹MU装备升级材料的获取

在重生奇迹MU中&#xff0c;装备升级需要使用各种材料&#xff0c;包括经验章、神秘石、宝石、元素石等。以下是各种材料的获取方法。 经验章&#xff1a;经验章是装备升级的基础材料&#xff0c;可以通过打怪掉落、任务奖励、商城购买等方式获得。建议玩家们多参加游戏中的活…

Python——python练习题

1.小明身高1.75&#xff0c;体重80.5kg。请根据BMI公式&#xff08;体重除以身高的平方&#xff09;帮小明计算他的BMI指数&#xff0c;并根据BMI指数&#xff1a; 低于18.5&#xff1a;过轻 18.5-25&#xff1a;正常 25-28&#xff1a;过重 28-32&#xff1a;肥胖 高于32&…

(Arcgis)matlab编程批量处理hdf4格式转换为tif格式

国家青藏高原科学数据中心 中国区域1km无缝地表温度数据集&#xff08;2002-2020&#xff09; 此代码仅用于该数据集处理 版本&#xff1a;arcgis10.2 matlab2020 参考&#xff1a;MATLAB hdf(h5)文件转成tif图片格式&#xff08;批量处理&#xff09; 此代码仅用于该数据集处…

SecLists:安全测试人员的必备手册 | 开源日报 No.144

danielmiessler/SecLists Stars: 50.9k License: MIT SecLists 是安全测试人员的伴侣&#xff0c;它是一个收集了多种类型列表的项目&#xff0c;用于安全评估。这些列表包括用户名、密码、URL、敏感数据模式、模糊负载、Web shell 等。其目标是使安全测试人员能够将该存储库拉…

SV-9001 壁挂式网络采播终端

SV-9001 壁挂式网络采播终端 一、描述 SV-9001是深圳锐科达电子有限公司的一款壁挂式网络采播终端&#xff0c;具有10/100M以太网接口&#xff0c;配置一路线路输入和一组麦克风输入&#xff0c;可以直接连接音源输出设备或麦克风&#xff0c;将采集音源编码后发送至网络播放终…

腾讯云COS桶文件上传下载工具类

1&#xff0c;申请key和密钥 2&#xff0c;引入依赖 <dependency><groupId>com.qcloud</groupId><artifactId>cos_api</artifactId><version>5.6.24</version></dependency>3&#xff0c;工具类 package com.example.activi…