Context
指的是标准库的 context.Context
,是一个接口对象,常用于 异步 IO
控制 以及 上下文流程变量的传递。本文将要介绍的,是如何使用 Context
传递流程间共享变量。
在 Go
的执行流程中,特别是 HTTP/RPC
执行流程中,不存在”全局变量”获取请求参数的方式,只有将上下文 Context
变量传递到后续流程的方法中,而 Context
上下文变量即包含了所有需要传递的共享变量。并且该 Context
中的共享变量应当是事先约定的,并且往往存储为对象指针形式。
通过 Context
上下文共享变量非常简单,以下我们通过一个项目中的示例来展示如何在实战化项目中传递和使用通用的共享变量。