go语言实现定时器的方法是什么


本文摘自php中文网,作者V,侵删。

go语言实现定时器的方法:可以通过time.sleep、time.after和time.Timer来实现定时器,如【time.Sleep(time.Second)】。

本文操作环境:Windows10系统、Go 1.11.2、thinkpad t480电脑。

一、定时器的创建

golang中定时器有三种实现方式,分别是time.sleep、time.after、time.Timer
其中time.after和time.Timer需要对通道进行释放才能达到定时的效果

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

package mainimport (    "fmt"

    "time")func main() {    /*

        用sleep实现定时器

    */

    fmt.Println(time.Now())

    time.Sleep(time.Second)

    fmt.Println(time.Now())    /*

        用timer实现定时器

    */

    timer := time.NewTimer(time.Second)

    fmt.Println(<-timer.C)    /*

        用after实现定时器

    */

    fmt.Println(<-time.After(time.Second))

 

}

二、定时器的重置与停止

重置定时器 timer.Reset(d Duration)
停止定时器 timer.Stop()
三、周期定时的实现Tiker

golang中使用Tiker可以实现周期定时的效果

1

2

3

4

5

6

7

8

9

10

package main

 

import (    "fmt"

    "time")

 

func main() {

    tiker := time.NewTicker(time.Second)    for i := 0; i < 3; i++ {

        fmt.Println(<-tiker.C)

    }

}

相关推荐:golang教程

以上就是go语言实现定时器的方法是什么的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

向github开源项目提交代码(pr)的详细步骤:

这家独角兽旅行服务公司,在用 Go 进行微服务治理

手撸Golang Go与微服务 chatserver之4 内存泄漏

我为何从php 加入到 Go 的潮流!

Golang 底层也用 Golang 吗?

Golang一行代码把array/slice转成逗号分隔的字符串

再见Go-micro!企业项目迁移Go-zero全攻略(二)

一文读懂云原生 Go-zero 微服务框架

第一个 Go 程序

Go语言如何把int转为字符串

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...