首页 > TAG信息列表 > GIN

在PostgreSQLPro中使用GIN索引提高数据库的性能

PostgreSQL是一个广泛使用的开源数据库管理系统。它拥有一系列索引方法,包括广义倒置索引(GIN)。本文深入研究了GIN索引的机制及其对在PostgresPro环境中优化数据库性能的重大影响。GIN指数GIN索引作为倒置索引的集合,用于管理复杂的数据类型,如数组、JSON和全文搜索。 在此结构中,每个索

Let's Go系列--实战Cookie与Session

在Gin中使用Cookie 下面代码是如何使用Cookie的样例,包括创建Cookie、获取Cookie和删除Cookie。 package main import ( "fmt" "net/http" "github.com/gin-gonic/gin" ) func main() { router := gin.Default() router.GET("/set-cookie", func(ctx *g

Golang Gin实践 连载十二 生成二维码

前言 本章节将实现如下功能: 生成二维码 合并海报(背景图+二维码) 实现 首先,你需要在 App 配置项中增加二维码及其海报的存储路径,我们约定配置项名称为 QrCodeSavePath,值为 qrcode/ 生成二维码 安装:go get -u github.com/boombuler/barcode 工具包 考虑生成二维码这一动作贴合工具

Golang Gin实践 连载十一 实现导出、导入 Excel

前言 在本节,我们将实现对标签信息的导出、导入功能,这是很标配功能了,希望你掌握基础的使用方式 另外在本文我们使用了 2 个 Excel 的包,excelize 最初的 XML 格式文件的一些结构,是通过 tealeg/xlsx 格式文件结构演化而来的,因此特意在此都展示了,你可以根据自己的场景和喜爱去使用 配

Gin实践 连载九 优化配置结构及实现图片上传

优化配置结构及实现图片上传 一天,产品经理突然跟你说文章列表,没有封面图,不够美观,!)&¥!&)#&¥!加一个吧,几分钟的事 你打开你的程序,分析了一波写了个清单: 优化配置结构(因为配置项越来越多) 抽离 原 logging 的 File 便于公用(logging、upload 各保有一份并不合适) 实现上传图片接口(需限制文件

mindxdl--common--logger.go

// Copyright (c) 2021. Huawei Technologies Co., Ltd. All rights reserved.// Package common the controller of the programpackage commonimport ( "fmt" "github.com/gin-gonic/gin" "huawei.com/npu-exporter/hwlog" "mat

Gin实践 连载六 Golang优雅重启HTTP服务

http.Server-Shutdown() package main import ( "context" "fmt" _ "gin_log/models" "gin_log/pkg/setting" "gin_log/routers" "log" "net/http" "os" "os/signal"

gin swagger使用

==背景== 一直都是使用showdoc来管理接口文档,有些麻烦。 在网上调查了一下自动管理文档的插件,发现大家都在用swagger, 于是尝试用一下gin-swagger插件   ==版本== go版本:1.18   ==插件安装== 1、安装swag命令插件,用于执行swag命令 go get github.com/swaggo/swag/cmd/swag go in

go gin参数验证

go gin参数验证 结构体验证 用gin框架的数据验证,可以不用解析数据,减少if else,会简洁许多 package main import ( "fmt" "time" "github.com/gin-gonic/gin" ) //Person .. type Person struct { //不能为空并且大于10 Age int `form:"age&quo

go gin日志

目录go gin日志日志文件 go gin日志 日志文件 package main import ( "io" "os" "github.com/gin-gonic/gin" ) func main() { gin.DisableConsoleColor() // Logging to a file. f, _ := os.Create("gin.log") gi

Gin实践 连载五 编写一个简单的文件日志

编写一个简单的文件日志 在上一节中,我们解决了API’s可以任意访问的问题,那么我们现在还有一个问题。 就是我们的日志,都是输出到控制台上的,这显然对于一个项目来说是不合理的,因此我们这一节简单封装log库,使其支持简单的文件日志! 新建logging包 我们在pkg下新建logging目录,新建file.

go gin渲染

go gin渲染 各种数据格式的响应 json、结构体、XML、YAML类似于java的properties、ProtoBuf package main import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/testdata/protoexample" ) // 多种响应方式 func main() { // 1.创建路由 // 默认使用

【一个经典BUG】gin框架中,异步协程使用context导致取不到数据

bug的内容大致如下: func httpHandle(c *gin.Context) { go func(ctx Context){ v := ctx.Value("xxx") // 这里取不到值,导致后续发生panic }(c) } 1.发生panic是随机的; 2.问题的原因是:当协程开始使用context的时候,父级协程技术,gin框架回收了context。 context失

golang面试经验2

1、make 和 new 的区别? 宝典导航 2、了解过golang的内存管理吗?宝典导航 3、调用函数传入结构体时,应该传值还是指针?说出你的理由?宝典导航 4、线程有几种模型?宝典导航 5、Goroutine 的原理了解过吗,讲一下实现和优势? 宝典导航 6、Goroutine 什么时候会发生阻塞? 7、PMG模型中Gorout

go delve远程调试

先在服务器上安装go-delve go-delve的github地址:https://github.com/go-delve 在服务器上安装好go语言的环境,然后在服务器上安装go-delve go install github.com/go-delve/delve/cmd/dlv@latest 以服务器api做示例,示例代码如下,将代码文件上传到服务器 package main import

gin 框架源码分析

官方文档示例 package main import "github.com/gin-gonic/gin" func main() { r := gin.Default() r.GET("/ping", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong", }) }) r.Run() // 监听并在 0.0.0.0:8080 上启动

golang gin 框架读取无法用 body 传递的表单参数

这两天发现一个有意思的情况,好像 gin 框架里 c.PostForm() 函数只能从表单中获取参数,不能从 body 中解析表单参数,也就是说你如果用 c.PostForm() 来解析获取参数,客户端发起请求时,如果参数放在表单里,服务端能正常获取到参数,但是如果客户端把参数放在 body 里,即使 header 里配置了 c

基本语句之switch多选择语句

基本语句之switch多选择语句 switch-case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。 语法格式: switch(expression){ case value: //语句 break;//可选 case value: //语句 break;//可选

vue+gin上传文件

前端 html <form action="" method="post" enctype="multipart/form-data"> <input id="fileUpload" type="file" name="upload"> <input type="button" @click="subm

gin CRUD

gin CRUD // units package dal //cxg 2022-7-29 import ( "net/url" "svrGIN/db" "svrGIN/model" "github.com/gin-gonic/gin/binding" "strings" "svrGIN/log" "github

gin路由

gin路由 // svrGIN project main.go package main //cxg 2022-7-29 import ( "svrGIN/dal" "github.com/gin-gonic/gin" ) func main() { r := gin.Default() rest := r.Group("/rest") { rest.POST("/unit

标识符注意点

标识符注意点 目录标识符注意点标识符的规范标识符对大小写十分敏感不能使用关键字作为变量名或者方法名 标识符的规范 所有的标识符都应该以字母(A-Z或者a-z)、美元符号($)、或者下划线(_)开始。 第一个字符之后可以是字母、美元符号、下划线或者数字的任何字符,但是不能是特殊符

gin领域层:用户实体编写和值对象(初步)

1.用户实体和值对象      2. 要做的事     3.常见的四层模型     4.Domin层     5.值对象  

gin-巧用Context传递多种参数

目录   引言: 1.巧妙包装gin.Context为NewContext 2 在使用gin.Use对每一个请求的Context进行组装 3 在路由绑定时解析出NewContext来为应用层函数提供参数,并且调用应用层函数 4 总结 引言:首先给臆造这样一个场景: 假设有web端,有众多用户需要从服务端去索取数据。 分析下这个过程,由

Gin请求参数获取

  获取querystring参数 url问号后面的参数 r.GET("/user", func(c *gin.Context) { username := c.DefaultQuery("username", "你的名字") address := c.Query("address") //输出json结果给调用方 c.JSON(http.StatusOK, gin.H{ "username