go --channel (信道)
阿新 • • 發佈:2019-03-20
寫入 ive 信息 緩存 讀取 package -- chan imp
①: "channel v 頻道", 收看同一個頻道,接受同一份信息, 頻道有時觀看人數過多, 就會無信號(阻塞), 不過可以換成數字信號這樣收看會流暢點(緩存). 還是喜歡 will will 和 jason一起主持的節目. 在那個沒有彈幕沒有後期表情的時代. 舒服
②: channel 只是一個"頻道", 有發就有接.
開, 關, 讀, 寫
chv := make(chan int) //創建一個channel chv <- data //寫入到chv data <- chv //讀取chv close(chv) //關閉chv
channel的使用
package main import ( "fmt" "time" ) func send(c chan int) { c <- 1 //將1寫入通道 (2) } func receive(c chan int) { v := <-c //使用v 接受通道的值 也就是1 (4) fmt.Printf("output:%d", v) //output: 1 } func main() { chv := make(chan int) //不帶緩存模式: 定義一個管道給協程(send, receive)作通信使用 // chv := make(chan int, 3) //帶緩存模式, 3個以內不堵塞 go send(chv) //(1) go receive(chv) //(3) time.Sleep(1 * time.Second) }
go --channel (信道)