您好,登錄后才能下訂單哦!
這篇“Go語言通道怎么聲明”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Go語言通道怎么聲明”文章吧。
在go語言中,并發中傳遞數據是通過通道進行數據傳遞,通道可用于兩個 goroutine 之間通過傳遞一個指定類型的值來同步運行和通訊。操作符 <-
用于指定通道的方向,發送或接收。如果未指定方向,則為雙向通道。
ch <- v // 把 v 發送到通道 ch v := <-ch // 從 ch 接收數據 // 并把值賦給 v
* 聲明一個通道很簡單,我們使用chan關鍵字即可,通道在使用前必須先創建:
ch := make(chan int)
代碼示例
package main import "fmt" func sum(s []int, c chan int) { sum := 0 for _, v := range s { sum += v } c <- sum // 把 sum 發送到通道 c } func main() { s := []int{7, 2, 8, -9, 4, 0} c := make(chan int) go sum(s[:len(s)/2], c) go sum(s[len(s)/2:], c) x, y := <-c, <-c // 從通道 c 中接收 fmt.Println(x, y, x+y) } /************************************************* 輸出結果 -5 17 12 *************************************************/
以上就是關于“Go語言通道怎么聲明”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。