参考答案
结论:context用于跨goroutine传递取消信号、超时和请求域键值,管理生命周期。核心要点:Context接口含Done()<-chan struct{}、Err()、Deadline()、Value(key);通过WithCancel/WithTimeout/WithDeadline/WithValue派生,形成树形取消传播;接收方监听Done通道进行清理。示例:ctx,cancel:=context.WithTimeout(context.Background(),2*time.Second); defer cancel(); select{case <-ctx.Done(): return}。注意:context应作为函数首个参数,不存结构体;不可传nil;Value仅传元数据,不传可选参数。