📅  最后修改于: 2023-12-03 14:41:34.114000             🧑  作者: Mango
在 Golang 中,我们可以使用 time 包来处理时间。其中,time.Since() 函数是一个非常有用的函数,可以帮助我们计算某个时间点到现在经过的时间。该函数的完整定义如下:
func Since(t Time) Duration
它接收一个 Time 类型的参数 t,返回一个 Duration 类型的变量,表示从 t 到现在经过的时间。
package main
import (
"fmt"
"time"
)
func main() {
start := time.Now()
time.Sleep(2 * time.Second)
duration := time.Since(start)
fmt.Printf("经过了 %v 秒\n", duration.Seconds())
}
在上面的代码中,我们首先使用 time.Now() 函数获取当前的时间点,并将其保存在 start 变量中。然后,我们使用 time.Sleep() 函数暂停了 2 秒。最后,我们调用 time.Since(start) 函数计算从 start 到现在经过的时间,并将其保存在 duration 变量中。最后,我们使用 duration.Seconds() 函数获取经过的秒数,并将其打印出来。
输出结果如下:
经过了 2.0001 秒
从输出结果中可以看出,经过的时间为 2 秒左右。需要注意的是,由于计算耗费了一定的时间,所以实际的经过时间会比 2 秒略微长一点。
time.Since() 函数是一个非常实用的函数,可以帮助我们计算从某个时间点到现在经过的时间,可以用于性能测试、计时等场景。在使用时,我们需要传入一个 Time 类型的参数,该参数可以通过 time.Now() 函数获取当前时间,或者通过 time.Parse() 函数将字符串转换为 Time 类型。返回的结果是一个 Duration 类型的变量,它可以表示经过的时间。如果需要获取经过的秒数、毫秒数、纳秒数等,可以通过 Duration 类型的函数获取。