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作为参数

相关推荐
TDengine (老段)21 分钟前
TDengine Go 连接器入门指南
大数据·数据库·物联网·golang·时序数据库·tdengine·涛思数据
YGGP27 分钟前
【Golang】LeetCode 206. 反转链表
leetcode·链表·golang
YGGP38 分钟前
【Golang】LeetCode 142. 环状链表 II
leetcode·链表·golang
YGGP2 小时前
【Golang】LeetCode 160. 相交链表
leetcode·链表·golang
YGGP2 小时前
【Golang】LeetCode 234. 回文链表
leetcode·链表·golang
Tony Bai20 小时前
Go 考古:Go 官方如何决定支持你的 CPU 和 OS?
开发语言·后端·golang
技术小泽1 天前
java转go语言入门基础篇(二)
java·golang
molaifeng1 天前
深度解密 Go 语言调度器:GMP 模型精讲
开发语言·golang·gmp
技术小泽1 天前
java转go速成入门笔记篇(一)
java·笔记·golang
古城小栈1 天前
内存对决:rust、go、java、python、nodejs
java·golang·rust