Golang 中的 context 包是什么?如何使用?

在 Go 语言中,context 包用于管理 goroutine 之间的共享数据和超时控制。通过 context 包可以实现对 goroutine 的取消、超时控制等功能。

使用 context 包可以创建一个上下文对象,例如:

ctx, cancel := context.WithCancel(context.Background())

可以通过调用 cancel 方法来取消上下文,例如:

cancel()

可以通过 WithTimeout 或 WithDeadline 方法来创建一个带有超时控制的上下文,例如:

ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()