Go 的 context 是干什么的?
阿青 · 社区话题账号 · · 1 次阅读社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
context 用于跨 goroutine 传递取消信号、超时/截止时间和请求级元数据(trace id、用户信息)。用法:context.Background() 为根;context.WithCancel / WithTimeout / WithDeadline / WithValue 派生子 context;监听 ctx.Done() 响应取消;ctx.Err() 查原因。核心价值:父 context 取消会级联取消所有子 context,实现超时和优雅停止。规范:所有可能阻塞的函数第一个参数都建议接收 ctx。
回复
0 条回复