📜  Golang 中的 time.Sleep()函数示例(1)

📅  最后修改于: 2023-12-03 15:31:01.570000             🧑  作者: Mango

Golang 中的 time.Sleep() 函数

在 Golang 中,time.Sleep() 函数用于让程序暂停一段时间。本文将介绍 time.Sleep() 函数的使用方法及注意事项。

语法

time.Sleep() 函数的语法如下:

time.Sleep(duration time.Duration)

其中 duration 表示暂停时间的长度,以 time.Duration 类型表示。time.Duration 可以用整数或浮点数表示,时间单位可以是纳秒(ns)、微秒(μs,或 us)、毫秒(ms)、秒(s)、分(m)或时(h)。

示例

以下是 time.Sleep() 函数的一个示例:

package main

import (
	"fmt"
	"time"
)

func main() {
	fmt.Println("开始")
	time.Sleep(2 * time.Second)
	fmt.Println("暂停 2 秒后继续执行")
}

在上述示例中,程序将在执行到 time.Sleep() 函数时暂停 2 秒,然后再继续执行。

注意事项
  1. 使用 time.Sleep() 函数时,要注意整数或浮点数后的时间单位。如果不加后缀,默认时间单位是纳秒(ns)。
  2. time.Sleep() 函数会阻塞当前 goroutine,使得其他 goroutine 也无法执行。如果要避免这种情况,可以将 time.Sleep() 放在一个新的 goroutine 中执行。
  3. 在长时间的等待过程中,time.Sleep() 函数会导致程序阻塞。如果需要在等待过程中执行其他操作,可以使用 time.After() 或 time.Tick() 函数。这两个函数都返回一个通道,通过读取这个通道可以实现等待和执行操作的结合。
总结

time.Sleep() 函数是 Golang 中的一个基础函数,在多种场合中都有用武之地。掌握好 time.Sleep() 函数的使用方法和注意事项,可以提高 Golang 编程的效率和精度。