Golang time.After() 函数及示例
在 Golang 中,time.After() 函数用于创建一个 Timer 对象并在指定的持续时间后向其 C 字段发送一个时间值。
样例代码
package main
import (
"time"
"fmt"
)
func main() {
ch := make(chan int)
go func() {
fmt.Println("Start goroutine...")
time.Sleep(3 * time.Second)
ch <- 1
}()
select {
case <- ch:
fmt.Println("chan 通道收到消息")
case <- time.After(2 * time.Second):
fmt.Println("超时啦")
}
}
解释
以上代码中,我们定义了一个名为 ch 的 int 类型的通道,并启动了一个协程,该协程睡眠了 3 秒后向 ch 通道发送了一个消息 1。同时我们使用 select 语句监控这个 ch 通道,这里使用了 time.After() 函数来实现 2 秒的超时和选择。
结论
本文简要介绍了 Golang 中的 time.After() 函数,以及其在 Golang 中的一个应用场景。希望这篇文章能够帮助您使用 Golang 编写更加高效的代码。