Golang Context 探究
&valueCtx{parent, key, val} } // context.valueCtx 中存储的键值对与 context.valueCtx.Value 方法中传入的参数不匹配 // 就会从父上下文中查找该键对应的值直到在某个父上下文中返回 nil 或者查找到对应的值 func (c *valueCtx) Value(key interface{}) interface{} { if c.key == key { return c.val } return c.Context.Value(key) } 在 context 传递数据的场景一般很有限,比较常见的使用场景是传递请求对应用户 token 以及用于进行分布式追踪的 trace id。不建议用来传递请求参数。 我用下面这种图来展示...阅读全文