我使用Go和Gin设置我的网站,并想知道数据库访问时间。我使用goroutine所以如果不使用类似线程的东西,我必须改变几乎每个函数来做它。 Go有一个很好的方法吗?
答案 0 :(得分:17)
Go运行时和标准库不提供goroutine本地存储或可用于实现goroutine本地存储的goroutine标识符。
第三方gls包以有趣的方式实现goroutine本地存储。有些人发现这个包令人恐惧,有些人认为它很聪明。
Go团队建议将上下文显式地作为函数参数传递,而不是使用goroutine本地存储。有关详细信息,请参阅context blog post和package documentation。