Timer计时器

如果希望在将来的某个时间点执行Go代码,或者在某个时间间隔重复执行Go代码,使用Go内置的timer和ticker功能。

先看定时器timer,然后再看计时器ticker。定时器代表未来的单个事件。告诉定时器需要等待多长时间,它返回一个通道,时间到后通道得到通知。如例所示设置定时器将等待2秒,语法

如果您只是想等待,则可以使用time.Sleep也可以实现相同的效果。使用定时器的好处是可以在它触发之前取消。下面是一个例子,定时器2需要足够的时间来触发,但立刻就被停止。因此结果是,第一个定时器在程序运行~2秒后触发,但第二个定时器触发之前就被停止了。

结果:

$ go run timers.go

Timer 1 fired

Timer 2 stopped

Ticker计时器

定时器是用来在未来做一次性任务时使用的,如果要重复地以指定间隔做某件事情时使用计时器。

这里有一个例子,一个ticker在我们停止它之前会周期性地触发,ticker使用类似于timers的机制:通道。例子中,将在通道上使用select语句来等待每500毫秒到达的值。

可以像停止定时器一样停止计时器。一旦计时器停止,无法在其通道上接收更多的值。1600ms后停止程序,在此之前,ticker应该触发了3次。

结果:

$ go run tickers.go

Tick at 2012-09-23 11:29:56.487625 -0700 PDT

Tick at 2012-09-23 11:29:56.988063 -0700 PDT

Tick at 2012-09-23 11:29:57.488076 -0700 PDT

Ticker stopped

go定时器 每天重复_Go语言学习基础-定时器、计时器相关推荐

  1. go var 一个整数_Go语言学习基础-值、变量、常量

    Hello world 第一个程序是打印经典的"hello world"信息.保存为hello-world.go文件,在命令行中使用go run命令运行程序.若要构建为二进制文件, ...

  2. 临时文件_Go语言学习基础-文件路径、目录、临时文件和目录

    File Path 文件路径 filepath包提供了解析和构造文件路径的函数,这种方法在操作系统之间是兼容的:例如,Linux上的dir/file与Windows上的dirfile都可以有效识别. ...

  3. .dat文件写入byte类型数组_Go语言学习基础-读文件、写文件、行过滤器

    Reading File 读文件 读写文件是许多Go程序所需的基本任务.首先,我们将看一些读取文件的示例.读取文件需要检查是否出现调用错误. 最基本的文件读取任务是将文件的全部内容读到内存中iouti ...

  4. python传递参数格式_Python语言学习基础篇之Python发送Post请求之根据参数位置传参、数据类型、不同方式传参...

    本文主要介绍了Python语言学习基础篇之Python发送Post请求之根据参数位置传参.数据类型.不同方式传参,通过具体的内容向大家展现,希望对大家Python语言的学习有所帮助. 目录 一.验证 ...

  5. 用C语言编写从A到Z随机步法,实用C语言程序设计教程1C语言学习基础ppt71.ppt

    实用C语言程序设计教程1C语言学习基础ppt71 C语言程序设计 - 第1章 C语言学习基础 第1章 开篇 --C语言学习基础 --目标既不是精确的,也不是预先设定的,目标应是一般性的.生成性的,从而 ...

  6. go get 拉取指定版本_go语言学习笔记-基础知识-3

    相关文档 go语言学习笔记-目录 1.简介 1.1 什么是GO Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易.Go是从2007年末由Robert Griesemer, Rob ...

  7. 安装成功配置环境变量_go语言学习笔记-Windows10开发环境安装和环境变量配置

    相关文档 go语言学习笔记-目录 1.安装 1.1.访问 https://golang.google.cn/dl/ 或 https://golang.org/dl/ 下载官方安装包 1.2.选择Win ...

  8. go var type 互转_Go语言学习笔记(第九章) 结构体

    Go语言基础之结构体 Go语言中没有"类"的概念,也不支持"类"的继承等面向对象的概念.Go 通过类型别名(alias types)和结构体的形式支持用户自定义 ...

  9. go定时器 每天重复_Go 简单性的价值:来自对 Go 倍加青睐的谷歌软件工程师的自述...

    点击上方蓝色"Go语言中文网"关注我们,领全套Go资料,每天学习 Go 语言 Go 语言最近几年逐渐获得越来越多的开发者的喜欢.在 Go 社区前不久刚刚庆祝Go诞生10周年生日之际 ...

最新文章

  1. SNMP功能开发简介 四 net-snmp动态监听自定义端口
  2. spring框架(五)之JdbcTemplate基本使用
  3. 基于小程序·云开发构建高考查分小程序丨实战
  4. 配置管理 ACM 在高可用服务 AHAS 流控降级组件中的应用场景
  5. POJ - 1127 Jack Straws(几何)
  6. Java笔记 —— 继承
  7. nosql数据库之Redis概念及基本操作
  8. 中科大和东北大学计算机考研,我国39所985高校,一共被分为五个档次,复旦大学处于第二档...
  9. apache服务上配置https安全与域名请求
  10. 轻松获得卡巴斯基KEY
  11. ETL调度工具 Taskctl 作业(组)节点类型概述
  12. xmpp即时通讯协议的特性---优点和缺点!
  13. 国笔手机输入法MTK支持的语言
  14. 英语视听说第六版答案
  15. 如何用Matlab修正异方差性,matlab 异方差 white
  16. HbuilderX配置微信开发者工具
  17. 别的计算机对我电脑无访问权限,为什么他人访问不了我的电脑,说没有权限
  18. DRB-GAN: A Dynamic ResBlock Generative Adversarial Network for Artistic Style Transfer
  19. Myeclipse中java文件注释格式设置
  20. 新版个人所得税计算python_2019年新税率工资计算器(python脚本) | linux系统运维...

热门文章

  1. Mysql8.0的安装
  2. Jfinal 文件上传
  3. (转载)20分钟读懂程序集
  4. WP8开发学习笔记动态修改启动时导航的第一个页面(如登录前启动页为LoginPage,登录后变为MainPage)...
  5. js webpack 解决跨域问题_webpack-dev-server 作代理解决跨域,让你的本地开发飞起来...
  6. python数字转换_Python实现中文数字转换为阿拉伯数字的方法示例
  7. matlab2010a连接mysql_MATLAB2010a+OpenCV2.3.1+VS2010运行TLD
  8. 智联招聘简历如何导出html,如何将拉勾网(智联招聘)的预览简历导出来
  9. 微型计算机2017年9月上,2017年9月计算机一级考试WPS Office冲刺题
  10. MySQL 后from多个表_MYSQL回顾(多表查询相关)