ProtoBuf快速入门

📅 2024年11月29日 🏆 ProtoBuf Protocol Buffers 是一种与语言无关、与平台无关的可扩展机制,用于序列化结构化数据。 protocal buffer 相比于 xml,json这类字符串类型传输体积更小、速度更快,而且可以使用多语言,他将数据通过二进制编码进行传输


一、GORM介绍及连接数据库

📦 GORMv2 🏆 GORM ⭐️ GORM是一个使用 GO编写的 ORM框架,它让你的数据库里面的表结构变成代码定义的数据结构,从而做到,代码结构体即为数据结构,即为数据行为 如果学过 JavaWeb可以把它理解为 Mybatis 🌟 安装 GORM并连接数据库 同样也是使用 go get


七、GORM自定义数据结构

📦GORMv1.25.6 🏆 自定义数据 ⭐️ 在有些时候,数据库内单单存储基本数据类型往往不够,可能需要存储 json这种类型 🍅 实习自定义数据类型 🌟 Scanner / Valuer 自定义的数据类型必须实现 Scanner 和 Valuer 接口,以便让 GORM 知道如何将该类型


六、GORM事务操作

🏆 事务 ⭐️ 在 GORM 中,事务(Transaction)是一种数据库操作机制,它允许你在一个单独的操作单元内执行一系列的数据库操作,并且要么全部成功提交(commit),要么全部失败回滚(rollback)。这种机制确保了在复杂的数据库操作中数据的一致性和完整性。 🍅 禁用事务 为了确保


二、GORM之增删改查

📦GORMv1.25.6 🍅 增 🌟 创建一条数据 使用 Create来向对应数据库创建一条数据,可以通过它的返回值获取错误和插入记录 user := &User{ Name: "tanchang", Password: "123456", } //插入字段 resu


五、GORM关联模式CRUD

📦GORMv1.25.6 🏆 关联模式的CRUD 🍅 预加载查询 前面已经提到过了预加载查询可以将关联的数据也一起查询出来这里就不做演示,重点介绍其他预加载方法 🌟 嵌套预加载 ⭐️ 嵌套预加载,可以将预加载中的数据中的数据一层一层给显示出来,我查询这个任务,需要将这个任务的用户查询出来并且


四、GORM表和表关系

📦GORMv1.25.6 我这里创建表自动加前缀是因为在连接开始就设置了 🏆 GORM中表与表的关系 🍅 一对一 🌟 Belongs to Belongs to会与另一个模型建立了一对一的连接。 这种模型的每一个实例都“属于”另一个模型的一个实例,也就是类中包含另外一个类比如这个用户拥有一个


三、GORM钩子使用

📦GORMv1.25.6 🏆GORM的Hook ⭐️ 在前面提到了在用户增删改查之前或者之后,可以使用Hook,来执行一系操作 ⭐️ 如果您已经为模型定义了指定的方法,它会在创建、更新、查询、删除时自动被调用。如果任何回调返回错误,GORM 将停止后续的操作并回滚事务。 ⭐️ 钩子方法的函数签名


六、Go日志logrus

🏆 Logrus ⭐️ logrus是一个 go日志第三方库,由于 log库实现的太简单,logrus完全兼容标准的 log库,还支持文本、JSON 两种日志输出格式。很多知名的开源项目都使用了这个库,如大名鼎鼎的 docker。 🌟 安装Logrus go get github.com/sir


五、Gin的日志

📦 Go1.22.5、Gin1.10.0 🌟 Gin的日志 🍅 在启动 Gin时在 ide终端下会显示一些日志代码,这些日志代码时可以自定义的 ⭐️ 自定义日志 🍵 DebugPrintRouteFunc调试路由日志格式 1️⃣ 先来看看默认的日志格式,表示分别表示日志类型,请求类型,路由,


四、Gin中的中间件

📦 Go1.22.5、Gin1.10.0 🌟 什么是中间件 ⭐️ 在Gin框架中,中间件(Middleware)是一种特殊类型的处理函数,它在 HTTP请求-响应生命周期中的某个点被调用,允许你在实际处理请求的主逻辑之前或之后插入自定义的处理逻辑。中间件通常用于执行一些横切关注点(c ross-


三、Gin请求参数处理

📦 Go1.22.5、Gin1.10.0 ⏮ 前置课程 httpRouter 🤦下面这些知识都是我东拼西凑找教程学的,官方网站写的不太可读,b站上的课程就只是教你怎么用 🌟 请求参数和路由处理 ⭐️ Gin的路由组件是使用的 httpRouter,可以学一下 httprouter ⭐️ Get


二、HttpRouter

🏆 HttpRouter ⭐️ Gin的路由组件采用的是 HttpRouter,它同样也是一个轻量级、高性能的路由组件,它整个组件只有3个 go文件 ⭐️ HttpRouter特点: 1.一对一匹配:一个请求只能匹配到零个或一个路由,且有利于SEO优化。 2.路径自动校正:随意选择喜欢的URL风格


一、Gin介绍即第一个代码

📦 Go1.22.5、Gin1.10.0 🏆 Gin ⭐️ Gin 是一个用 Go (Golang) 编写的 Web 框架。 它具有类似 martini 的 API,性能要好得多,多亏了 httprouter,速度提高了 40 倍。 如果您需要性能和良好的生产力,您一定会喜欢 Gin。Gin相比


三、Go语言标准库template

:package: 使用版本为1.21.5 Template库 :star: emplate包实现了数据驱动的用于生成文本输出的模板。如果要生成HTML格式的输出,参见html/template包,该包提供了和本包相同的接口,但会自动将输出转化为安全的HTML格式输出,可以抵抗一些网络攻击。模板使用