go

密码保护:Go高效的分布式任务队列

简单、可靠、高效的分布式任务队列 今天介绍 一下在写项目中使用到的一个简单高效的任务队列库。 Asynq 是一个 Go 库,用于排队任务并与 worker 异步处理它们。它由 Redis 提供支持,旨在实现可扩展且易...

Golang 中正则表达式 regexp 的基本用法

Golang 中使用正则一般就是使用 regexp 包。 这里只介绍一些常用操作,已经可以满足大部分开发需求,更多内容请详见官方文档 regexp package。 1. 正则表达式的语法 我们知道想要使用正则匹配,就需要严格...

Gin参数绑定bind与验证器

1 bind参数绑定 在Gin框架中,bind用于绑定参数,即将请求参数绑定到结构体中。通过使用bind,我们可以方便地将请求参数与结构体字段进行绑定,从而更方便地处理和验证参数。 Gin框架提供了多种绑定方法,包...

golang 变量三个点

在Go语言中,三个点(...)可以用于多种场景,具体取决于它们的上下文。以下是几种常见的用法: 可变参数函数:在函数定义时,如果某个参数的类型前面有三个点(...),表示该参数是一个可变参数,即可以接受...

golang 自己重启自己

如果你想要实现在不同时存在两个程序实例的情况下重启程序自身,可以使用以下方法: package main import ( "fmt" "os" "os/exec" "syscall" ) func main() { fmt.Printl...

golang 反向代理 Gin框架反向代理详解

前言 想用gin框架做一个反向代理服务,搜索了一圈,全是只讲解些皮毛的帖子,今天我就总结一下gin做反向代理的详细操作和原理 正文 开始之前我们先了解一些前置知识 gin的通配符 gin的动态路由可以自行...

gRPC 的网关

gRPC 网关插件( gRPC-Gateway )能够让 protocol buffers 编译器读取 gRPC 服务定义,并生成反向代理服务器端,该服务器是根据服务定义中的 google.api.http 注释生成的,能够将 RESTful JSON API 翻译为 gRPC ...

golang 文件操作

golang 文件操作 获取文件大小 "path/filepath" import ( "path/filepath" ) func GetFileSize(filename string) int64 { var size int 64 filepath.Walk(filename, f...

Golang 实现RSA加密解密

生成RSA证书: openssl方式生成 生成私钥 openssl genrsa -out rsa_private_key.pem 1024 生成公钥 openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem Go代码方式生成 packa...