go 學習之 管道
阿新 • • 發佈:2020-12-14
注意事項:
1、channel智慧存放指定的資料型別
2、channel的資料放滿後不能再存放了
3、如果從channel取出資料後可以繼續存放
4、在沒有使用協程的情況下,channel資料取完了再去,報deadlock
宣告寫入讀取
var intChan chan int intChan = make(chan int, 5) intChan <- 5 intChan <- 6 intChan <- 7 f1 := <- intChan f2 := <- intChan f3 := <- intChan fmt.Println(f1, f2, f3) fmt.Println(intChan, &intChan)
//存放map
var mapChan chan map[string]string
mapChan = make(chan map[string]string, 5)
map1 := make(map[string]string, 2)
map1["name"] = "caoxt"
map1["age"] = "26"
map2 := make(map[string]string, 2)
map2["name"] = "caoxt2"
map2["age"] = "27"
mapChan <- map1
mapChan <- map2
f1 := <- mapChan
f2 := <- mapChan
f3 := <- mapChan
fmt.Println(f1["name"], f2["age"])