go time.Sleep睡眠指定时间实例详解(小时级到纳秒级)

golang的休眠可以使用time包中的Sleep函数实现,本文主要介绍关于go time.Sleep睡眠指定时间(小时级到纳秒级)相关实现。

首先:time.sleep单位为:1ns (纳秒)

转换单位:

      1纳秒 =1000皮秒
      1纳秒 =0.001 微秒
      1纳秒 =0.000 001毫秒   
      1纳秒 =0.000 000 001秒

go用来指定睡眠时间的函数为time.Sleep,接口为: 

1

2

3

// Sleep pauses the current goroutine for at least the duration d.

// A negative or zero duration causes Sleep to return immediately.

func Sleep(d Duration)

传入的为一个Duration,所以如果想睡眠5s钟,不能直接写 time.Sleep(5) ,而应该写time.Sleep(5 * time.Second)

其中time.Second就是一个Duration类型,表示1s的时间间隔,乘系数5就得到5s的时间间隔。

除了time.Second外,go还提供了不同的时间单位:

const (
    Nanosecond  Duration = 1
    Microsecond = 1000 * Nanosecond
    Millisecond = 1000 * Microsecond 
    Second = 1000 * Millisecond
    Minute = 60 * Second
    Hour = 60 * Minute
)

其中,

Nanosecond表示1纳秒的时间间隔

Microsecond表示1微妙的时间间隔

Millisecond表示1毫秒的时间间隔

Second表示1秒的时间间隔

Minute表示1分钟的时间间隔

Hour表示1小时的时间间隔

想要睡眠的时间可以使用以上的常量自由组合,

比如睡眠1小时10分5秒:

time.Sleep(1*time.Hour + 10*time.Minute + 5*time.Second) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

alden_ygq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值