MST
星途 面试题库

面试题:Go中如何使用select语句实现简单的超时控制

在Go语言里,编写一段代码利用select语句实现一个操作在2秒后超时的功能,假设该操作是向一个通道发送数据。
44.7万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "fmt"
    "time"
)

func main() {
    ch := make(chan int)
    go func() {
        time.Sleep(3 * time.Second) // 模拟一个需要3秒的操作
        ch <- 1
    }()

    select {
    case data := <-ch:
        fmt.Println("Received data:", data)
    case <-time.After(2 * time.Second):
        fmt.Println("Operation timed out")
    }
}