Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Select 从非chan类型接收时间。持续时间_Select_Go_Time - Fatal编程技术网

Select 从非chan类型接收时间。持续时间

Select 从非chan类型接收时间。持续时间,select,go,time,Select,Go,Time,在以下示例中提供: func LongRunningHandler(ctx context.Context) string { deadline, _ := ctx.Deadline() for { select { case <- time.Until(deadline).Truncate(100 * time.Millisecond): ret

在以下示例中提供:

func LongRunningHandler(ctx context.Context) string {
        deadline, _ := ctx.Deadline()
        for {
                select {
                case <- time.Until(deadline).Truncate(100 * time.Millisecond):
                        return "Finished before timing out."
                default:
                        log.Print("hello!")
                        time.Sleep(50 * time.Millisecond)
                }
        }
}
func LongRunningHandler(ctx context.context)字符串{
截止日期,uz:=ctx.deadline()
为了{
挑选{
案例
使用

func LongRunningHandler(ctx context.context)字符串{
截止日期,uz:=ctx.deadline()
为了{
挑选{

案例:当你试图从非渠道接收信息时,你会期望发生什么?
select {
case m := <-c:
        handle(m)
case <-time.After(5 * time.Minute):
        fmt.Println("timed out")
}
func LongRunningHandler(ctx context.Context) string {
        deadline, _ := ctx.Deadline()
        for {
                select {
                case <- time.After(time.Until(deadline).Truncate(100 * time.Millisecond)):
                        return "Finished before timing out."
                default:
                        log.Print("hello!")
                        time.Sleep(50 * time.Millisecond)
                }
        }
}