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

相关推荐
wechat_Neal3 小时前
Golang的车载应用场景
开发语言·后端·golang
Wenweno0o5 小时前
Eino-Graph 实战详解
golang·智能体·eino
咬_咬9 小时前
go语言学习(数组与切片)
开发语言·学习·golang·数组·切片
xwz小王子10 小时前
智元发布 GO-2:动作空间推理 + 全生命周期闭环,让机器人稳定可靠落地
开发语言·golang·机器人
GDAL10 小时前
Go Channel `make()` 深入全面讲解
golang·make·通道
XMYX-012 小时前
06 - Go 的切片、字典与遍历:从原理到实战
后端·golang
qq_3961534513 小时前
docker ddns-go 忘记密码
docker·容器·golang
XMYX-014 小时前
04 - Go 的变量和常量:零值、类型推导与枚举
开发语言·golang
好家伙VCC14 小时前
**InfluxDB实战进阶:基于Golang的高性能时序数据采集与可视化方
java·开发语言·后端·python·golang
好家伙VCC14 小时前
**发散创新:基于Go语言的服务网格实践与流量治理实战**在微服务架构日益复杂的今天,**服务网格(S
java·python·微服务·架构·golang