Go有类似Java的ThreadLocal吗?

mod*_*kzs 14 go goroutine thread-local-storage

我使用Go和Gin来设置我的网站,并想知道数据库访问时间.我使用goroutine所以如果不使用类似线程的东西,我必须改变几乎每个函数来做它.Go有很好的方法吗?

Cer*_*món 19

Go运行时和标准库不提供goroutine本地存储或可用于实现goroutine本地存储的goroutine标识符.

第三方gls包以一种有趣的方式实现了goroutine本地存储.有些人认为这个包令人恐惧,而另一些人认为它很聪明.

Go团队建议将上下文显式地作为函数参数传递,而不是使用goroutine本地存储.有关更多信息,请参阅上下文博客文章包文档.