ProtoBuf快速入门

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


Gin日志之zap

📅 2024年11月26日 📦 go1.21.5zap 看到工作使用的是 zap顺手就学一下 🏆 ZAP 在`zap`的`github`主页给出了一个数据表格,用来对比其他go的日志框架的速度,毋庸置疑zap肯定是最快的,具体可以去`github`上查看 github: https://gi


Wsl和Kind搭建Kubernetes

✍️ 前置条件: 熟悉 docker和 linux Wsl 🌟 了解 WSL 这是微软官网的介绍 ⭐️ 首先介绍一下 WSl是什么东西:适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的


Gin的源码解读(搬运)

0 前言 上一周和大家聊了 Golang HTTP 标准库的实现原理. 本周在此基础上做个延伸,聊聊 web 框架 Gin 的底层实现原理. 1 Gin 与 HTTP 1.1 Gin 的背景 Gin 是 Golang 世界里最流行的 web 框架,于 github 开源:https://github


Golang的epoll(搬运)

😆 本文搬运来自小徐先生的编程事件微信公众号原文链接: https://mp.weixin.qq.com/s?__biz=MzkxMjQzMjA0OQ==&mid=2247484057&idx=1&sn=50e57108f736bc47137ac57dfb643893 由于实在是写得太好了微信公众


十八、Go语言之锁

📅 2024年6月20日 📦 使用版本为 1.21.5 锁 在网上找了一个列子 var wait sync.WaitGroup var count = 0 func main() { wait.Add(10) for i := 0; i < 10; i++ { go f


Go使用腾讯对象存储sdk

⭐️ 我把它分为了两个步骤一个是获取临时密钥,一个是获取预签名的URL 1️⃣ 获取临时密钥 需要通过 sts包来创建 Client,注意这里不是 go-sdk包,而是 sts-sdk包,填写固定的 SecretID和 SecretKey, c := sts.NewClient( // 通过环


一、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