Go 的 context:超时、取消与链路传递

dana091459 · 2025-12-27 01:15 · 34 次浏览 · 0 人赞同

context.Context 的几个关键点:

ctx, cancel := context.WithTimeout(r.Context(), 2*time.Second)
defer cancel()

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