zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

2023-03-20 14:56:57 时间

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

// 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)