码迷,mamicode.com
首页 > 编程语言 > 详细

Go语言如何判断一个chan被关闭

时间:2018-01-12 22:33:55      阅读:440      评论:0      收藏:0      [点我收藏+]

标签:class   body   main   import   pack   语言   make   参数   res   

当一个chanel被关闭后,再取出不会阻塞,而是返回零值

package main

import "fmt"

func main() {
    c := make(chan int, 5)
    c <- 123
    close(c)
    
    fmt.Println(<-c)
    fmt.Println(<-c)
}

输出

123
0

  

判断的方法是否关闭方法就是接收第二个参数,如下

package main

import "fmt"

func main() {
    c := make(chan int, 10)
    c <- 123
    close(c)

    var res int
    var ok bool

    res, ok = <-c
    fmt.Println(res, ok)

    res, ok = <-c
    fmt.Println(res, ok) //此时ok为false
}

输出

123 true
0 false

  

 

Go语言如何判断一个chan被关闭

标签:class   body   main   import   pack   语言   make   参数   res   

原文地址:https://www.cnblogs.com/chenqionghe/p/8277780.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!