dana091459
dana091459 vip 楼主
· 49 次阅读

context.Context 的几个关键点:

  • 超时:context.WithTimeout
  • 取消:context.WithCancel
  • 传递:请求链路一路向下传
go
ctx, cancel := context.WithTimeout(r.Context(), 2*time.Second)
defer cancel()

建议:不要把 context 存结构体里;也不要用它传“可选参数”,它应该只承载请求生命周期与链路数据。

登录后即可参与讨论