清華尹成帶你實戰GO案例(20)Go 遍歷通道

尹成發表於2018-05-22
Go 遍歷通道
我們知道range函式可以遍歷陣列,切片,字典等。這裡我們還可以使用range函式來遍歷通道以接收通道
資料。
package main
import "fmt"
func main() {
// 我們遍歷queue通道里面的兩個資料
queue := make(chan string, 2)
queue <- "one"
queue <- "two"
close(queue)
// range函式遍歷每個從通道接收到的資料,因為queue再傳送完兩個
// 資料之後就關閉了通道,所以這裡我們range函式在接收到兩個資料
// 之後就結束了。如果上面的queue通道不關閉,那麼range函式就不
// 會結束,從而在接收第三個資料的時候就阻塞了。
for elem := range queue {
fmt.Println(elem)
}
}


執行結果
one
two

這個例子同時說明了,即使關閉了一個非空通道,我們仍然可以從通道里面接收到值。





網址:http://www.qukuailianxueyuan.io/



欲領取造幣技術與全套虛擬機器資料

區塊鏈技術交流QQ群:756146052  備註:CSDN

尹成學院微信:備註:CSDN



網址:http://www.qukuailianxueyuan.io/



欲領取造幣技術與全套虛擬機器資料

區塊鏈技術交流QQ群:756146052  備註:CSDN

尹成學院微信:備註:CSDN

相關文章