Golang浮点数比较和运算会出现误差。 浮点数储存至内存中时,2的-1、-2……-n次方不能精确的表示小数部分,所以再把这个数从地址中取出来进行计算就出现了偏差。 package main import ( "errors" "fmt...
go
Golang验证库go-playground/validator验证规则
一、验证规则 标记之间特殊符号说明 逗号( , ):把多个验证标记隔开。注意:隔开逗号之间不能有空格, validate:"lt=0,gt=100",逗号那里不能有空格,否则panic 横线( - ):跳过该字段不验证 竖线( | ):...
Go异步任务解决方案之Asynq库详解
今天为大家介绍一个Go处理异步任务的解决方案:Asynq,是一个 Go 库,用于排队任务并与 worker 异步处理它们。它由Redis提供支持,旨在实现可扩展且易于上手。 一、概述 Asynq 是一个 Go 库,用于对任务进...
Golang读取图片和生成新的图片
package main import ( "bytes" "fmt" "image" "image/jpeg" "io/ioutil" "os" ) func main() { //读取文件成[]byte fileBytes, _ := ioutil.ReadFile("1.jpg") reader := bytes.NewB...
GO语言-反射reflect
Go语言提供了一种机制在运行时更新变量和检查它们的值、调用它们的方法。但是在编译时并不直到这些变量的具体类型。这称为反射机制。 什么情况需要反射? 需要反射的2个常见场景: 不能明确函数传入的参数...
golang 发送邮件
使用 gomail 先下载gomail 包 go get gopkg.in/gomail.v2 代码: package main import ( "fmt" "gopkg.in/gomail.v2" "log" "strconv" ) const ( ...
Gin JSON渲染,获取参数,参数绑定大全
获取Query参数 Query参数又叫Querystring参数,是URL的?后面的一串字符串。 demo代码如下: r.GET("/home", func(c *gin.Context) { username := c.Query("username") password := c.DefaultQuery("...
Golang 使用定时任务(robfig/cron)
前两天优化一个从三方查询数据很耗时的接口,改造的方案是每半小时同步一次数据缓存到内存,Golang 下最常用的是 robfig/cron 包,使用简便,功能强大,本文对其使用做了整理记录。 英文官方文档参考:https:/...
golang 优雅关闭服务
一、什么是优雅关闭服务 先把在执行的任务执行完成,再关闭服务,防止中断服务造成程序错误,数据异常等影响。 二、使用函数 语法: func (srv *Server) Shutdown(ctx context.Context) error ...
golang url结构解析
简介: golang 中通过net/url包中的Parse方法对指定的url结构进行解析,分别获取响应的元素 1、url结构 Scheme://host.domain:port/path/to/resource?query_string#fragment 介绍: scheme 表示协议,ho...