Documentation
¶
Overview ¶
提供增强版上下文管理,基于标准 context.Context 扩展, 支持元数据键值对存储、追踪ID(TraceID)自动生成与继承, 并保证并发安全的读写操作。
核心特性: - 完全兼容标准 context 接口,可无缝替换原生 context - 内置 TraceID 用于分布式追踪,支持从父上下文继承 - 提供线程安全的 Set/Get 方法管理元数据 - 支持 WithCancel/WithTimeout 等衍生上下文创建
Index ¶
Constants ¶
View Source
const ( // TraceIDKey 用于在上下文中存储/获取 TraceID 的键, // 可通过 context.Value(TraceIDKey) 从父上下文继承 TraceID。 TraceIDKey = "TraceID" // MetaMapKey 用于在上下文中存储/获取元数据映射的键, // 通过 context.Value(MetaMapKey) 可获取所有元数据的副本。 MetaMapKey = "MetaMap" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Context ¶
type Context interface {
context.Context
Get(key string) string
Set(key string, val string)
Values() map[string]string
Context() context.Context
SetContext(ctx context.Context)
TraceID() string
}
Context 扩展标准 context.Context 接口,增加元数据和追踪ID管理能力。 实现了标准库 context.Context 的所有方法,可直接作为标准上下文使用。
func WithCancel ¶
func WithCancel(parent Context) (Context, context.CancelFunc)
--------------- 上下文衍生函数 --------------- WithCancel 基于父上下文创建可取消的新上下文,并发安全
func WithTimeout ¶
WithTimeout 包级函数:基于父上下文创建带超时的新上下文(核心调整点)
Click to show internal directories.
Click to hide internal directories.