Go语言技巧:使用for range time.Tick()固定间隔时间执行

直接上代码,比如每隔30ms重绘界面:

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()
}

都能实现效果,不过第一种用起来更舒服 :)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 01.{ 换行: Opening Brace Can't Be Placed on a Separate Lin...
    码农不器阅读 7,024评论 0 14
  • Notes Section 2, Program Structure nested block in if-els...
    keysaim阅读 4,983评论 0 1
  • 这是在公司的倒数第三天,一个月的时间很快,我再一次走上了即将离开的路。 开完早会,我就这样坐着。像过去的六年一样,...
    DYL067阅读 1,882评论 0 0
  • 坚强的活着,总归会是一件好事吧。阴霾,荆棘,也总不会一直存在吧,或许哪天走过去了也说不定,只是每天每天都很无奈,...
    小哲lee阅读 1,004评论 0 0
  • 从刚开始的喜欢幼儿园到上了幼儿园之后每到教室门口就哭,经历了九月份的挣扎,国庆节后每天都有爸爸送,妈妈接,爸爸送相...
    茶语心林阅读 1,391评论 0 0

友情链接更多精彩内容