排序
gin HTTP响应格式统一处理
在gin框架中,我们可以定义一个中间件来处理统一的HTTP响应格式。该中间件将在将响应发送给客户端之前拦截响应,并根据你指定的格式进行格式化。 以下是创建用于处理统一HTTP响应格式的Gin中间...
使用 crypto/x509 实现 证书链的 生成 与 校验
背景: 数字证书被广泛用于互联网各个领域, 从https访问网站到 发送电子邮件 都少不了它的身影。 现在广泛的证书已经不只是一个证书, 而是一个证书链(根证书, 中间证书, 终端证书)。看完这篇文...
golang并发编程基础 – Mutex的使用和源码分析
背景 在实际编码中,我们经常遇到并发问题,产生并发问题的原因主要有以下两点: 存在共享资源 存在非原子性,并发操作共享资源的场景 解决并发问题,常见的方式之一就是加锁。sync.Mutex就是go...
Go语言网络编程:HTTP服务端之底层原理与源码分析——http.HandleFunc()、http.ListenAndServe()
一、启动 http 服务 import ( 'net/http' ) func main() { http.HandleFunc('/ping', func(w http.ResponseWriter, r *http.Request) { w.Write([]byte('ping...ping...')) }) http.ListenAndSe...
用go构建个简单的搜索(四)哥伦布Golomb编解码实现
用go构建个简单的搜索(一) 用go构建个简单的搜索(二)最简单的索引文件 用go构建个简单的搜索(三)对上篇索引文件优化 上篇做的差值是以第一个为准,可以以上个数据为差值可以进一步压缩 Go...
一次 Golang 优化编程思考
背景 刚开始使用 Golang 进项目开发时,因为在开发时对一些理解没有足够的透彻,导致整个项目代码出现过多的冗余以及扩展性比较差。本文主要陈述在使用的Golang 时的一些结构设计思考的记录。 ...
Golang 责任链模式讲解和代码示例
Golang 责任链模式讲解和代码示例 责任链是一种行为设计模式, 允许你将请求沿着处理者链进行发送, 直至其中一个处理者对其进行处理。 该模式允许多个对象来对请求进行处理, 而无需让发送者类...
精选Go高频面试题和答案汇总
大家好,我是阳哥。 这篇文章给大家整理了17道Go语言高频面试题和答案详解,每道题都给出了代码示例,方便大家更好的理解。 1.并发编程 Go语言中的并发是如何实现的?请给出一个并发编程的示例...
Go 常见设计模式之装饰模式
熟悉 Python 的同学想必对装饰模式都不会太陌生,Python 从语法上原生支持装饰器,大大提高了装饰模式在 Python 中的应用。而在 Go 语言中,虽然装饰模式没有像 Python 中应用那么广泛,但也有...
Go WaitGroup 详解
WaitGroup 概述 WaitGroup在go语言中,用于线程同步,单从字面意思理解,wait等待的意思,group组、团队的意思,WaitGroup就是指等待一组,等待一个系列执行完成后才会继续向下执行。 WatiGroup...
Golang微服框架Kratos与它的小伙伴系列 – ORM框架 – GORM
Golangå¾®æÂÂæ¡Âæ¶Kratosä¸Âå®ÂçÂÂå°Âä¼Âä¼´ç³»å - ORMæ¡ÂæÂ...
Gin的一个小demo,蕴藏着大道变化
孤独是一个陪伴人一生的伙伴,是一个既定事实,与其否认,与其抗争,与其无谓的逃避,不如接受它,拥挤的人群里让它保护你回家,周六的上午让它陪你吃早餐,整理阳光。 目标 package main impor...
GO语言安全工具开发方向探索
声明:文章所涉及的代码进攻参考和学习,文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连...
利用 Tengo 实现动态配置管理
ä¸Â次 Tengo å¨æÂÂéÂ
Âç½®åºÂç¨åÂÂä½Â骠â å¯以Ã...
深入探究for…range语句
1. 引言 在Go语言中,我们经常需要对数据集合进行遍历操作。对于数组来说,使用for语句可以很方便地完成遍历。然而,当我们面对其他数据类型,如map、string 和 channel 时,使用普通的for循环...
搞懂Go的map,哪需要写什么源码啊!!!
“我正在参加「掘金·启航计划」” Map Map 是一种用于存储键值对的数据结构,通常被称为映射或字典。最大的特点是只需要 O(1) 级别的时间复杂度就能查询出对应键存储的数据。它为什么这么快速...
go使用 github.com/influxdata/influxdb/client/v2 写数据到 influxdb
转载请注明出处: 接入示例 使用 github.com/influxdata/influxdb/client/v2 依赖包向 InfluxDB 写入数据的示例代码: package main import ( 'fmt' 'log' 'time' 'github.com/influxdata/influ...
Go1.21 速览:Context 可以设置取消原因和回调函数了,等的可太久了!
大家好,我是煎鱼。 在 Go 中有一个很经典的设计:context,这是许多同学初学时必学的标准库。涉及到上下文传递、超时控制等必要项。 甚至在函数体中的第一个参数大多是传 context。写第三方库...
全网注释第二全的GO教程-结构体(Struct)
持续更新: github.com/Zhouchaowen… 感谢 star 结构体 在 Go 语言中,struct 是一种用户自定义的复合类型,可以将多个字段组合在一起,形成一个新的结构体类型。通常情况下,结构体类型用于封...
GORM 基本使用
mysql 数据库连接 import ( 'gorm.io/driver/mysql' 'gorm.io/gorm' ) const ( mysqlHost = 'go-uccs' mysqlPort = 3306 mysqlUser = 'uccs' mysqlPassword = 123456 mysqlDbname = 'uccs' ) ds...