亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于chan的疑問

package?main

import?(
???"fmt"
)

func?main()?{
???ch?:=?make(chan?string)
???for?i?:=?0;?i?<=?5;?i++?{
??????go?printHelloWorld(i,?ch)
???}
???for?{
??????if?msg,ok?:=?<-ch;ok{
?????????fmt.Println(msg)
??????}else{
?????????break
??????}
???}

}

func?printHelloWorld(i?int,?ch?chan?string)?{
??????ch?<-?fmt.Sprintf("hello?world?%d\n",?i)
}

老師:為什么我這段代碼輸出會有個??

fatal error: all goroutines are asleep - deadlock!

報錯呢?

正在回答

2 回答

改成這樣就可以了:

https://img1.sycdn.imooc.com//5b1d052a0001ac5d11921054.jpg

0 回復 有任何疑惑可以回復我~

ch沒有關閉,一直在等待。

package?mainimport?(	"fmt")func?main()?{	ch?:=?make(chan?string)	for?i?:=?0;?i?<=?5;?i++?{		go?printHelloWorld(i,?ch)	}	for?i?:=?0;?i?<=?5;?i++?{		fmt.Println(<-ch)	}}func?printHelloWorld(i?int,?ch?chan<-?string)?{	ch?<-?fmt.Sprintf("hello?world?%d\n",?i)}


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于chan的疑問

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號