Go语言技巧:使用for range time.Tick()固定间隔时间执行
2017-02-23 23:40
1316 查看
直接上代码,比如每隔30ms重绘界面:
因为time.Tick()返回的是一个channel,每隔指定的时间会有数据从channel中出来,for range不仅能遍历map,slice,array还能取出channel中数据,range前面可以不用变量接收,所以可以简写成上面的形式。
可能大家最容易想到的就是用time.Sleep()来控制间隔,比如:
都能实现效果,不过第一种用起来更舒服 :)
for range time.Tick(30 * time.Millisecond) { repaint() }
因为time.Tick()返回的是一个channel,每隔指定的时间会有数据从channel中出来,for range不仅能遍历map,slice,array还能取出channel中数据,range前面可以不用变量接收,所以可以简写成上面的形式。
可能大家最容易想到的就是用time.Sleep()来控制间隔,比如:
for { time.Sleep(30 * time.Millisecond) repaint() }
都能实现效果,不过第一种用起来更舒服 :)
相关文章推荐
- Go语言学习之time包(获取当前时间戳等)(the way to go)
- linux使用time命令获取命令执行时间
- Linux系统使用time计算命令执行的时间
- Go语言技巧:使用select{}阻塞main函数
- crontab命令(让使用者在固定时间或固定间隔执行程式)
- 使用time命令获取命令执行时间
- Linux系统使用time计算命令执行的时间
- Linux使用time命令获取命令执行时间
- 使用Intel编译器(5)PGO(3)评测函数或循环执行时间(Profile Function or Loop Execution Time)
- 使用timeit测试python语句执行的时间
- Go语言学习技巧之如何合理使用Pool
- linux下命令执行时间统计工具time使用小结
- 学习-go语言坑之for range
- go 语言for循环的使用
- FixedUpdate真的是固定的时间间隔执行吗?聊聊游戏定时器
- 使用 console.time() 计算js代码执行时间
- 使用php-timeit估计php函数的执行时间
- go语言坑之for range
- [技巧]go语言使用select{}阻塞main函数和for range 做定时器服务
- crontab 间隔固定时间执行