課程
/后端開發(fā)
/Go
/Go語言第一課
括號里填0與大于0的數(shù)為啥輸出結(jié)果相反?
2016-03-31
源自:Go語言第一課 5-6
正在回答
在真機上運行結(jié)果是正常的??蓴喽ㄊ沁h程服務器的問題。望采納
上古神龍 提問者
不懂不要瞎回答,本來填0和大于0的數(shù)運行結(jié)果就應該是相反的。
如果填的是0,代表`myChannel`是一個非緩存通道。發(fā)送方在向通道值發(fā)送數(shù)據(jù)的時候會立即被阻塞,直到有某一個接收方已從該通道值中接收了這條數(shù)據(jù)。
所以在第一個匿名函數(shù)執(zhí)行到`sender <- number`語句之后,便被阻塞了,這時第二個匿名函數(shù)開始被執(zhí)行。等到語句`fmt.Println("Received!", <-receiver)`被執(zhí)行之后,通道內(nèi)的值被清空了,`sender <- number`之后的語句繼續(xù)被執(zhí)行。所以就會看到
Received!?6 Sent!
這根python中的協(xié)程coroutine是類似的
那是因為代碼的先后。
舉報
Go語言入門教程,編程之必備知識擴散,打好Go語言編程基礎(chǔ)
2 回答函數(shù){}后為啥要括號()
4 回答能不要在最后要填的地方用括號嗎?
3 回答誰能給解釋一下為什么輸出結(jié)果是這樣
2 回答這里結(jié)果不太好吧
1 回答為啥點擊“提交”按鈕沒反應?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-04-09
在真機上運行結(jié)果是正常的??蓴喽ㄊ沁h程服務器的問題。望采納
2019-01-11
不懂不要瞎回答,本來填0和大于0的數(shù)運行結(jié)果就應該是相反的。
如果填的是0,代表`myChannel`是一個非緩存通道。發(fā)送方在向通道值發(fā)送數(shù)據(jù)的時候會立即被阻塞,直到有某一個接收方已從該通道值中接收了這條數(shù)據(jù)。
所以在第一個匿名函數(shù)執(zhí)行到`sender <- number`語句之后,便被阻塞了,這時第二個匿名函數(shù)開始被執(zhí)行。等到語句`fmt.Println("Received!", <-receiver)`被執(zhí)行之后,通道內(nèi)的值被清空了,`sender <- number`之后的語句繼續(xù)被執(zhí)行。所以就會看到
這根python中的協(xié)程coroutine是類似的
2018-07-15
那是因為代碼的先后。