百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
G

gls

> 编程语言
开源

goroutine 本地存储

695 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

goroutine 本地存储

gls === Goroutine 临时存储 ### 重要说明 ### 我有责任提醒你 https://blog.golang.org/context,,这是 Google 如何解决你可能会考虑使用此包的大规模问题的方法。 Google 的方法有一个缺点,即 * 所有 * 函数都必须有一个新的第一个参数,但在克服了这一障碍之后,其他方面都会更好。

有时会在 golang-nuts 上出现一个线程,要求某种 goroutine 本地存储,或者某种 goroutine ID,或者某种上下文。对于 goroutine 本地存储,有几种有效的用例,其中最突出的是日志行上下文。有一个贴子作者希望能够在每个日志行中记录 HTTP 请求上下文 ID,而这些日志行与传入的 HTTP 请求处于同一个 goroutine 中,而无需更改他感兴趣的每个库和函数调用。

这会很有用。如果你能获得某种 goroutine 局部存储,你就可以使用自己的日志写入器来调用 log.SetOutput,该写入器会检查 goroutine 局部存储中是否有上下文信息,并将该上下文添加到日志行中。

所以,是的,这很有道理。这正是语言不支持某个特定且(相对)无用的功能的原因之一,这种功能需要在运行时进行一些更改,仅仅为了提高日志的质量。但是,Go 是否需要在运行时进行更改呢?

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Go

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言