Context并不是银弹,使用时需注意其使用场景。

Context

golang的context包的"前身"来自golang.org/x/net/context,在Go 1.7时被引入到标准库,现为context,使用之前golang.org/x/net/context建议切到context开发。包如其名,这个包主要实现了"上下文"的相关功能:包括了代码调用栈,传递scope等。context在开发API和RPC接口时发挥了巨大的作用。

在微服务流行的今天,各个服务互相独立,所以,在调用时能有效地传递当前上下文变得尤为重要(通常是一些用户鉴权,请求的deadline等等).