gin框架传入的gin.context参数是池化的

  1. gin.context参数不但是池化的,而且是指针

  2. 但是gin.context又实现了context的接口。因此,可以当作context去使用

  3. 这就会导致一个很严重的问题:

  4. 池化导致了复用后的ctx将会将之前使用的ctx中的内容进行覆盖。

  5. 实现了context接口,导致context.withvalue(*gin.context,key,value).并不会有编译错误

具体我在解决问题时,采用register的方式,将全部的http请求注册到统一入口处。统一入口,将*gin.Context转化为context.Background(),调用controller。将context作为参数传递,而不再使用*gin.Context作为参数

相关推荐
molaifeng4 小时前
Go runtime 中的 sudog:连接 Channel 与 GMP 的隐秘枢纽
开发语言·golang
羊羊羊i5 小时前
使用client-go访问k8s集群
golang·kubernetes
源代码•宸6 小时前
goframe框架签到系统项目开发(实现总积分和积分明细接口、补签日期校验)
后端·golang·postman·web·dao·goframe·补签
YGGP6 小时前
【Golang】LeetCode 2. 两数相加
开发语言·leetcode·golang
Yy_Yyyyy_zz6 小时前
2025 技术年终总结|近七年 Golang 工程实践、AI 应用落地与技术创作回顾
开发语言·golang·ai编程
GrowingYi7 小时前
Go语言的特性
开发语言·后端·golang
YGGP7 小时前
【Golang】LeetCode 21. 合并两个有序链表
leetcode·链表·golang
看见繁华7 小时前
GO 教程
开发语言·后端·golang
Yy_Yyyyy_zz7 小时前
深入理解 Go 的多返回值:语法、编译原理与工程实践
开发语言·后端·golang
天远云服8 小时前
Fintech硬核架构:解析天远贷前风险报告接口在Go微服务中的解析策略
微服务·架构·golang