Golang time.After() 函数及示例

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 编写更加高效的代码。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程