昨天写代码的时候发现有一段代码的本应该是两秒的ticker足足10分钟才触发下一次的任务,具体原因在哪里也不清楚,应该是某处的bug了,但是我在测试的时候发现了一些不太理解的问题,求大佬能解惑。贴代码和执行结果:
![QQ20180522-0.png](https://static.studygolang.com/180522/a988243d4c6ae262e6537834906e4967.png)
汗,搞错了,闭包函数的变量是引用传递的,按理说是一个东西,那估计就是Stop的内部处理方式了,我看了下是要求参数是指针的,传个非指针进去估计就不行了
#12
更多评论
time.NewTicker 返回的就是一个 *Ticker,你再取一次指针操作没有必要,我修改了一下代码,
```go
go func() {
time.Sleep(3 * time.Second)
fmt.Println("--start stop--")
ticker.Stop()
fmt.Println("--end stop--")
}()
```
ticker.stop() 被调用了,但是没有停止,估计是和你取了两次指针操作有关
#2