欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go語言的管道Channel用法實例

 更新時間:2015年02月26日 11:37:46   作者:不是JS  
這篇文章主要介紹了Go語言的管道Channel用法,實例分析了Go語言中管道的原理與使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Go語言的管道Channel用法。分享給大家供大家參考。具體分析如下:

channel 是有類型的管道,可以用 channel 操作符 <- 對其發(fā)送或者接收值。
ch <- v // 將 v 送入 channel ch。
v := <-ch // 從 ch 接收,并且賦值給 v。
(“箭頭”就是數(shù)據(jù)流的方向。)
和 map 與 slice 一樣,channel 使用前必須創(chuàng)建:
ch := make(chan int)
默認情況下,在另一端準備好之前,發(fā)送和接收都會阻塞。這使得 goroutine 可以在沒有明確的鎖或競態(tài)變量的情況下進行同步。

復制代碼 代碼如下:
package main
import "fmt"
func sum(a []int, c chan int) {
    sum := 0
    for _, v := range a {
        sum += v
    }
    c <- sum  // send sum to c
}
func main() {
    a := []int{7, 2, 8, -9, 4, 0}
        c := make(chan int)
    go sum(a[:len(a)/2], c)
    go sum(a[len(a)/2:], c)
        x, y := <-c, <-c  // receive from c
    fmt.Println(x, y, x + y)
}

希望本文所述對大家的Go語言程序設計有所幫助。

相關文章

  • Go?http.Transport?主要參數(shù)說明

    Go?http.Transport?主要參數(shù)說明

    這篇文章主要為大家介紹了Go?http.Transport主要參數(shù)說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Golang并發(fā)繞不開的重要組件之Channel詳解

    Golang并發(fā)繞不開的重要組件之Channel詳解

    Channel是一個提供可接收和發(fā)送特定類型值的用于并發(fā)函數(shù)通信的數(shù)據(jù)類型,也是Golang并發(fā)繞不開的重要組件之一,本文就來和大家深入聊聊Channel的相關知識吧
    2023-06-06
  • Go實現(xiàn)生產隨機密碼的示例代碼

    Go實現(xiàn)生產隨機密碼的示例代碼

    這篇文章主要為大家詳細介紹了如何利用Go實現(xiàn)生產隨機密碼的,文中的示例代碼簡潔易懂,具有一定的借鑒價值,有需要的小伙伴可以參考一下
    2023-09-09
  • go mod 依賴管理的具體使用

    go mod 依賴管理的具體使用

    在Go語言開發(fā)中,依賴管理是一項非常重要的工作,Go mod作為官方的包管理工具已經(jīng)成為了Go語言依賴管理的首選方式,本文就來介紹一下go mod 依賴管理的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • Go語言實現(xiàn)彩色輸出示例詳解

    Go語言實現(xiàn)彩色輸出示例詳解

    這篇文章主要為大家介紹了Go語言實現(xiàn)彩色輸出示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • golang協(xié)程關閉踩坑實戰(zhàn)記錄

    golang協(xié)程關閉踩坑實戰(zhàn)記錄

    協(xié)程(coroutine)是Go語言中的輕量級線程實現(xiàn),下面這篇文章主要給大家介紹了關于golang協(xié)程關閉踩坑的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • 深入探索Golang中的SM4加密解密算法

    深入探索Golang中的SM4加密解密算法

    SM4加密算法在安全性、高效性、簡單性、標準化和廣泛支持等方面具有優(yōu)勢,適用于各種數(shù)據(jù)保護和加密應用場景,這篇文章就來和大家探索一下Golang中的SM4加密解密算法吧
    2023-06-06
  • golang日志框架之logrus的安裝使用教程

    golang日志框架之logrus的安裝使用教程

    logrus是一個非常強大的日志框架,具有靈活的功能和易于使用的API,適合處理各種類型的日志需求,這篇文章主要介紹了golang日志框架之logrus的安裝使用,需要的朋友可以參考下
    2023-08-08
  • 通過Golang實現(xiàn)無頭瀏覽器截圖

    通過Golang實現(xiàn)無頭瀏覽器截圖

    在Web開發(fā)中,有時需要對網(wǎng)頁進行截圖,以便進行頁面預覽、測試等操作,本文為大家整理了Golang實現(xiàn)無頭瀏覽器的截圖的方法,感興趣的可以了解一下
    2023-05-05
  • 一文帶你了解Go語言中鎖的實現(xiàn)

    一文帶你了解Go語言中鎖的實現(xiàn)

    這篇文章主要帶大家一起學習一下go鎖和讀寫鎖的總結文檔,?主要從"參考"部分的文章結合源碼學習,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-03-03

最新評論