通道创建后,就可以使用通道进行发送和接收操作。
通道的发送使用特殊的操作符<-
,将数据通过通道发送的格式为:
通道变量 <- 值
使用 make 创建一个通道后,就可以使用<-
向通道发送数据,代码如下:
把数据往通道中发送时,如果接收方一直都没有接收,那么发送操作将持续阻塞。Go 程序运行时能智能地发现一些永远无法发送成功的语句并做出提示,代码如下:
运行代码,报错:
fatal error: all goroutines are asleep - deadlock!
报错的意思是:运行时发现所有的 goroutine(包括main)都处于等待 goroutine。也就是说所有 goroutine 中的 channel 并没有形成发送和接收对应的代码。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!