【发布时间】:2018-04-03 09:09:50
【问题描述】:
time.AfterFunc() 接受持续时间和在该持续时间到期时要执行的函数。但是函数不能是接受参数的函数。
例如:下面的函数不能传递:
func Foo (b *Bar) {}
虽然,可以初始化一个调用上述函数的新函数,然后传递它:
f := func() {
Foo(somebar)
}
timer := time.AfterFunc(1*time.Second, f)
真的应该这样做吗?
为什么 time.AfterFunc 不接受任何接受参数的函数?
是否存在其他/更好的方法来做到这一点?
【问题讨论】:
-
不,这里可以关闭。
-
一个很好的解释,你为什么不添加它作为答案?。这是我想知道的。
-
为什么投反对票?我刚开始学习 Go,发现这个问题很有帮助。
-
同样的问题。为什么投反对票?我认为 stackoverflow 应该要求投票者解释并揭示他们的身份。这很烦人。
标签: go