21.channel的关闭特征

1.示例代码

package chapter15

import "fmt"

func RunChannel03() {

    c := make(chan int)

    go func() {
        for i := 0; i < 5; i++ {
            c <- i
        }

        // close 可以关闭一个channel
        close(c)
    }()

    for {
        // ok 如果为true表示channel没有关闭,如果false表示channel已经关闭
        if data, ok := <-c; ok {
            fmt.Println(data)
        } else {
            break
        }
    }

    fmt.Println("Main Finished..")
}
// 执行结果
0
1
2
3
4
Main Finished..

2.总结

posted @ 2021-10-09 19:10  可可逗豆  阅读(41)  评论(0)    收藏  举报