gitalk
gitalk copied to clipboard
Go Channel 详解
Go Channel 详解
Channel是Go中的一个核心类型,你可以把它看成一个管道,通过它并发核心单元就可以发送或者接收数据进行通讯(communication)。 它的操作符是箭头 <- 。 12ch <- v // 发送值v到Channel ch中v := <-ch // 从Channel ch中接收数据,并将数据赋值给v
(箭头的指向就是数据的流向) 就像 map 和 slice
通过i, ok := <-c可以查看Channel的状态,判断值是零值还是正常读取的值。----好像在新版本的go上会报错:panic: close of closed channel
range模块的代码 起个协程 睡一个小时 起的什么作用?
"range模块的代码 起个协程 睡一个小时 起的什么作用?"
因为所有协程都执行完,而for循环还在等待 所以死锁了 fatal error: all goroutines are asleep - deadlock!