go-channel
生活随笔
收集整理的這篇文章主要介紹了
go-channel
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.channel
2.buffered channel
3.range關鍵字接收channel中的內容
func worker(id int, c chan int) {for n := range c {fmt.Printf("Worker %d received %c\n",id, n)} }func createWorker(id int) chan<- int {c := make(chan int)go worker(id, c)return c }func chanDemo() {var channels [10]chan<- intfor i := 0; i < 10; i++ {channels[i] = createWorker(i)}for i := 0; i < 10; i++ {channels[i] <- 'a' + i}for i := 0; i < 10; i++ {channels[i] <- 'A' + i}time.Sleep(time.Millisecond) }func bufferedChannel() {c := make(chan int, 3)go worker(0, c)c <- 'a'c <- 'b'c <- 'c'c <- 'd'time.Sleep(time.Millisecond) }func channelClose() {c := make(chan int)go worker(0, c)c <- 'a'c <- 'b'c <- 'c'c <- 'd'close(c)time.Sleep(time.Millisecond) }func main() {fmt.Println("Channel as first-class citizen")chanDemo()fmt.Println("Buffered channel")bufferedChannel()fmt.Println("Channel close and range")channelClose() }?
總結
以上是生活随笔為你收集整理的go-channel的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ZigBee(CC2530)(03)数据
- 下一篇: 32bit 天堂2脚本修改资料大全【客户