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

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

這里通道關閉了,外層循環也終止了?

for循環里我加了打印序號,結果顯示通道關閉以后,for循環也結束了。老師,這是什么原因???

package main

import "fmt"

func main() {
????ch4 := make(chan int, 1)
????for i := 0; i < 4; i++ {
????????fmt.Printf("序號:%d\n", i)
????????select {
????????case e, ok := <-ch4:
????????????if !ok {
????????????????fmt.Println("End.")
????????????????return
????????????}
????????????fmt.Println(e)
????????????close(ch4)
????????default:
????????????fmt.Println("No Data!")
????????????ch4 <- 1
????????}
????}
}

正在回答

1 回答

你在main方法體里寫了if !ok {

????fmt.Println("End.")
????????????????return

}

channel通道關閉后,強取數據會產生!ok的結果,進而執行了return,return是指跳出了main方法。

1 回復 有任何疑惑可以回復我~
#1

wemeya 提問者

非常感謝!
2016-10-10 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這里通道關閉了,外層循環也終止了?

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

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

幫助反饋 APP下載

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

公眾號

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