去time.Tick vs time.NewTicker

Rag*_*dra -2 go

我是Go的新手并且最近开始学习.我遇到过代号和计时器.在代码中,我们可以通过两种方式创建代码

throttler := time.Tick(time.Millisecond * 50)
<- throttler

throttler := time.NewTicker(time.Millisecond * 500)
<- throttler.C
Run Code Online (Sandbox Code Playgroud)

它们除了语法之外有什么区别?

Cer*_*món 8

从时间.提示文档:

Tick是NewTicker的便利包装器,仅提供对滴答通道的访问.虽然Tick对于不需要关闭Ticker的客户端很有用,但请注意,如果没有办法将其关闭,底层Ticker将无法通过垃圾收集器恢复; 它"泄漏".