1. 程式人生 > 實用技巧 >go 學習之 管道

go 學習之 管道

注意事項:

 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"])