Go创建赋值channel
生活随笔
收集整理的這篇文章主要介紹了
Go创建赋值channel
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
代碼1?
package mainimport ("fmt""time" )// 對(duì)于channel的賦值 對(duì)于channel賦賦值必須通過(guò)goroutine // 如果不是goroutine的話 那么channel就沒(méi)有存在的意義了 // channel存在的意義就是給routine進(jìn)行通信 func write(a int,ch chan int){ch<-a; }func main(){// 方法一:channel的創(chuàng)建賦值// var ch chan int;// ch = make(chan int);// 方法二:短寫法// ch:=make(chan int);// 方法三:綜合寫法:全局寫法!!!!var ch = make(chan int);go write(2,ch);time.Sleep(10);c:=<-ch;fmt.Printf("%v\n",c); }代碼2
package mainimport "fmt"func main() {messages := make(chan string)// channel與goroutine必須并存// 如果只有channel,根本無(wú)法運(yùn)行,因?yàn)槿克梨i了// 如果只有g(shù)oroutine,協(xié)程根本不會(huì)執(zhí)行,因?yàn)闆](méi)時(shí)間,主程序已經(jīng)結(jié)束了// 因?yàn)橛辛硕氯?#xff0c;協(xié)程才會(huì)執(zhí)行g(shù)o func(){fmt.Println("2")messages<-"aaaa"}()// channel等待寫入數(shù)據(jù),此處堵塞// 協(xié)程寫入數(shù)據(jù)后,會(huì)繼續(xù)執(zhí)行fmt.Println("1");msg:=<-messagesfmt.Println("3")fmt.Println(msg) }// ping?
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Go创建赋值channel的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Go三种方式创建赋值map
- 下一篇: 瀛通通讯主营业务 主要从事蓝牙耳机和数据