前序:

  因為打算自己搞個基于Golang的IM服務器,所以復習了下之前一直沒怎么使用的協(xié)程、管道等高并發(fā)編程知識。發(fā)現(xiàn)自己的channel這塊,也就是管道,實在是有些混亂。然后對著文檔,邊參照官網(wǎng)例子和在編譯器測試,總結(jié)了下面這17個例子,設置為簡短的片段,是為了免得混淆太多,阻礙理解。內(nèi)含注釋豐富,復制粘貼就能編譯使用。

  這里立個 flag,有錯誤歡迎指出,只要你跟著敲完這17個例子,channel的基礎絕對可以掌握!

 

基本概念:

  關于管道 Channel:

    Channels用來同步并發(fā)執(zhí)行的函數(shù)并提供它們某種傳值交流的機制。

    Channels的一些特性:通過channel傳遞的元素類型、容器(或緩沖區(qū))和傳遞的方向由“<-”操作符指定。

網(wǎng)友評論