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

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.rhkb.cn/news/238598.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣|2023华为秋招冲刺

文章目录 第一关&#xff1a;2023 年 7 月面试题挑战第二关&#xff1a;2023 年 6 月面试题挑战第三关&#xff1a;2023 年 5 月面试题挑战 第一关&#xff1a;2023 年 7 月面试题挑战 class Solution { public:void reverseWord(vector<char>& s,int l,int r){for(i…

YOLOv8目标检测中数据集各部分的作用

自学答疑使用&#xff0c;持续更新… 在目标检测任务中&#xff0c;通常将整个数据集划分为训练集&#xff08;training set&#xff09;、验证集&#xff08;validation set&#xff09;和测试集&#xff08;test set&#xff09;。这三个数据集在训练和评估过程中具有不同的…

mysql8 源码编译 客户端连接运行 报段异常解决

mysql8 源码编译 客户端连接运行 报段异常解决。解决方案&#xff1a;删除之前编译的文件。先安装libncurses-dev依赖&#xff0c;在重新编译。原因&#xff1a;第一次编译没有libncurses-dev依赖&#xff0c;编译告警&#xff0c;再次编译有缓存&#xff0c;没有引入声明头文件…

分析一个项目(微信小程序篇)三

目录 接下来分析接口方面&#xff1a; home接口&#xff1a; categories接口&#xff1a; details接口&#xff1a; login接口&#xff1a; 分析一个项目讲究的是如何进行对项目的解析分解&#xff0c;进一步了解项目的整体结构&#xff0c;熟悉项目的结构&#xff0c;能够…

Vue-10、Vue键盘事件

1、vue中常见的按键别名 回车 ---------enter <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>键盘事件</title><!--引入vue--><script type"text/javascript" src"h…

数据库——DAY4(练习-在表中查找数据-多表查询)

一、实验要求&#xff08;多表查询&#xff09; 素材&#xff1a; 1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); …

怎么采集今日头条的资讯或文章-简数采集器

如何使用简数采集器快速采集今日头条新闻的资讯或优质文章&#xff1f; 很遗憾&#xff0c;简数采集器暂时不支持采集今日头条上的新闻和文章&#xff0c;不建议采集。 可以换一个采集源进行采集。 简数采集器采集网页文章非常简单&#xff0c;只需输入对应的网址&#xff0…

深入 Move 生态,探秘铭文热潮背后的思考

Move 语言是 Meta&#xff08;Facebook&#xff09;在 2018 年开发的新一代智能合约编程语言。回顾过去的一年&#xff0c;Aptos 与 Sui 主网上线&#xff0c;为整个 Web3 开启了下一个十亿用户服务的新征程。Rooch、Initia、MoveMent 等多条使用 Move 语言的区块链网络涌现&am…

【CSS】首个字符占用多行,并自定义样式

效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>首字母大写</title><style&…

函数式编程 - 组合compose的使用方法

函数式编程中有一个比较重要的概念就是函数组合&#xff08;compose&#xff09;,组合多个函数&#xff0c;同时返回一个新的函数。调用时&#xff0c;组合函数按顺序从右向左执行。右边函数调用后&#xff0c;返回的结果&#xff0c;作为左边函数的参数传入&#xff0c;严格保…

开源ERP系统Odoo安装部署并结合内网穿透实现公网访问本地系统

文章目录 前言1. 下载安装Odoo&#xff1a;2. 实现公网访问Odoo本地系统&#xff1a;3. 固定域名访问Odoo本地系统 前言 Odoo是全球流行的开源企业管理套件&#xff0c;是一个一站式全功能ERP及电商平台。 开源性质&#xff1a;Odoo是一个开源的ERP软件&#xff0c;这意味着企…

SpringSecurity入门demo(一)集成与默认认证

一、集成与默认认证&#xff1a; 1、说明&#xff1a;在引入 Spring Security 项目之后&#xff0c;没有进行任何相关的配置或编码的情况下&#xff0c;Spring Security 有一个默认的运行状态&#xff0c;要求在经过 HTTP 基本认证后才能访问对应的 URL 资源&#xff0c;其默认…

案例分享:当前高端低延迟视频类产品方案分享(内窥镜、记录仪、车载记录仪、车载环拼、车载后视镜等产品)

若该文为原创文章&#xff0c;转载请注明出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/135439369 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结…

金融科技革命:数字化如何塑造未来经济_光点科技

当今世界&#xff0c;数字化不仅是一种趋势&#xff0c;更是深刻重塑经济和金融领域的关键力量。在这个过程中&#xff0c;金融科技&#xff08;FinTech&#xff09;崭露头角&#xff0c;成为革命性变化的代名词。以下是数字化技术在经济和金融领域的几个关键应用&#xff0c;它…

运放负反馈

学习记录所使用书籍为西安交通大学杨建国教授著《新概念模拟电路》&#xff0c;可在ADI官网下载PDF版学习。 运算放大器&#xff0c;英文为 Operational Amplifier&#xff0c;简写 OA 或 OPA&#xff0c;中文简称为运放。 理想运算放大器如图所示&#xff0c;它具有两个差分的…

mybatisPlus 将List<String>字段转成json字符串,使用JacksonTypeHandler以及自定义类型处理器实现

文章目录 场景使用JacksonTypeHandler实现类型转换自定义StringListTypeHandler处理器实现 场景 项目中经常需要将List转成json存储到数据库中, mybatisPlus默认实现了JacksonTypeHandler&#xff0c;GsonTypeHandler&#xff0c;FastjsonTypeHandler&#xff0c;也可以自定义类…

观成科技-加密C2框架EvilOSX流量分析

工具简介 EvilOSX是一款开源的&#xff0c;由python编写专门为macOS系统设计的C2工具&#xff0c;该工具可以利用自身释放的木马来实现一系列集成功能&#xff0c;如键盘记录、文件捕获、浏览器历史记录爬取、截屏等。EvilOSX主要使用HTTP协议进行通信&#xff0c;通信内容为特…

Java 线程

1. 实现多线程的 2 种方式 Oracle 官网的文档中给出了 2 种实现多线程的方式&#xff1a; 实现 Runnable 接口&#xff1b;继承 Thread 类。 以上两种方式都会调用 Thread.run() 方法&#xff0c;区别是&#xff1a; 实现 Runnable 接口&#xff0c;只是执行 Thread.run() …

Linux--进程状态与优先级

概念 进程指的是程序在执行过程中的活动。进程是操作系统进行资源分配和调度的基本单位。 进程可以看作是程序的一次执行实体&#xff0c;它包含了程序代码、数据以及相关的执行上下文信息。操作系统通过创建、调度和管理多个进程来实现对计算机系统资源的有效利用。 每个进程…

Navicat 技术干货 | 为 MySQL 表选择合适的存储引擎

MySQL 是最受欢迎的关系型数据库管理系统之一&#xff0c;提供了不同的存储引擎&#xff0c;每种存储引擎都旨在满足特定的需求和用例。在优化数据库和确保数据完整性方面&#xff0c;选择合适的存储引擎是至关重要的。今天&#xff0c;我们将探讨为 MySQL 表选择合适的存储引擎…