小编Jib*_*iru的帖子

其他案例调用的golang案例不执行但返回

为什么不Stopped打印出来,main而是返回?

package main

import (
    "fmt"
    "time"
)

func main() {
    tick := time.Tick(100 * time.Millisecond)
    boom := time.After(500 * time.Millisecond)
    var stop chan int = make(chan int)
    for {
        select {
        case <- stop:
            fmt.Println("Stopped!")
        case <-tick:
            fmt.Println("tick.")
        case <-boom:
            fmt.Println("BOOM!")
            stop <- 0
        default:
            fmt.Println("    .")
            time.Sleep(50 * time.Millisecond)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

   .
    .
tick.
    .
    .
tick.
    .
    .
tick.
    .
    .
tick.
    .
    .
tick.
BOOM!
Run Code Online (Sandbox Code Playgroud)

预计:

   .
    .
tick.
    . …
Run Code Online (Sandbox Code Playgroud)

go

0
推荐指数
1
解决办法
93
查看次数

标签 统计

go ×1