closed channel

func Test_chanel(t *testing.T) {
    c := make(chan int, 1)

    go func() {
        time.Sleep(time.Second * 3)
        close(c)
    }()

    for {
        select {
        case i := <-c:
            log.Printf("chan is closed, value is [%v]", i)
        }
    }
}

close的channel, 從裏面能夠一直取到值,不過是默認值,具體值取決於類型。code

相關文章
相關標籤/搜索