Function 上下文结构在golang gin框架中是如何工作的?

Function 上下文结构在golang gin框架中是如何工作的?,function,go,web,input,open-source,Function,Go,Web,Input,Open Source,我想了解go-gin中的上下文是什么,我看到很多函数都接受上下文作为参数,但没有看到它在任何地方传递或实例化,有人能解释一下它是如何工作的吗?gin上下文是一个结构,它既包含http.Request,也包含普通http.Handler将使用的http.Response,再加上一些有用的方法和快捷方式来操作它们 gin引擎负责创建(和重用)这些上下文,其方式与http.Server负责创建标准http.Handler将使用的http.Request对象的方式相同 上下文由引擎传递给它的处理程序,您

我想了解go-gin中的上下文是什么,我看到很多函数都接受上下文作为参数,但没有看到它在任何地方传递或实例化,有人能解释一下它是如何工作的吗?

gin上下文是一个结构,它既包含http.Request,也包含普通http.Handler将使用的http.Response,再加上一些有用的方法和快捷方式来操作它们

gin引擎负责创建(和重用)这些上下文,其方式与http.Server负责创建标准http.Handler将使用的http.Request对象的方式相同


上下文由引擎传递给它的处理程序,您的工作是编写这些处理程序并将它们连接到路由器。gin处理程序是任何将gin.Context作为其唯一参数且不返回任何内容的函数。

我想补充一下Olivier提到的内容,即上下文是一种例行的安全资源,用于处理应用程序每一层上的请求/响应数据。你可以阅读更多关于它存在的原因,我不知道你所说的例行安全是什么意思。无论如何,它都不安全。文档明确地说,不要将gin上下文传递给goroutine,而是使用copy()方法传递副本。