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

相关推荐
源代码•宸13 小时前
Leetcode—746. 使用最小花费爬楼梯【简单】
后端·算法·leetcode·职场和发展·golang·记忆化搜索·动规
x70x8018 小时前
Go中nil的使用
开发语言·后端·golang
源代码•宸19 小时前
Leetcode—47. 全排列 II【中等】
经验分享·后端·算法·leetcode·面试·golang·深度优先
漫漫求21 小时前
Go的panic、defer、recover的关系
开发语言·后端·golang
Tony Bai1 天前
2025 Go 官方调查解读:91% 满意度背后的隐忧与 AI 时代的“双刃剑”
开发语言·后端·golang
老蒋每日coding1 天前
基于FISCO BCOS 部署 Solidity投票智能合约 并基于GO SDK进行合约调用指南
golang·区块链·智能合约
翔云1234561 天前
golang中使用 sort.Interface 实现复杂多级排序
开发语言·后端·golang
ん贤1 天前
自go-zero走进微服务
开发语言·后端·golang
源代码•宸2 天前
Leetcode—404. 左叶子之和【简单】
经验分享·后端·算法·leetcode·职场和发展·golang·dfs
Grassto2 天前
10 Go 是如何下载第三方包的?GOPROXY 与源码解析
后端·golang·go·go module