上下文取消 Go 语言 Context 上下文取消机制详解与实践 Context 概念与作用域 是 Go 语言中处理请求范围(request-scoped)数据、取消信号和截止时间的核心接口。它主要用于在 Goroutine 之间传递请求的上下文信息,尤其是取消信号。Context 接口定义了四个方法: 其中,与取消机制直接相关的主要是 和 方法: : 返回一个只读的 channel。当 Context 被取消或者超时时,该 channel 会被关闭(closed)。这是接收取消信号的主要方式。我们可以通过 来阻塞等待取消信号的到来,或者使用 语句进行非阻塞的监听。 : 返回 Context 被取消的原因。如果 channel 被关闭, 方法会返回一个非空的 error 值,通常是 或 。