context 包是 Go 并发编程中最常用的标准库之一。它提供了一种在 goroutine 之间传递截止时间、取消信号和请求范围数据的方式。

Context 的核心方法

type Context interface {
    Deadline() (deadline time.Time, ok bool)
    Done() <-chan struct{}
    Err() error
    Value(key interface{}) interface{}
}

四种创建方式

最佳实践

Context 是请求生命周期的纽带——贯穿链路追踪、超时控制与取消传播。