溫馨提示×

Go語言通道怎樣創(chuàng)建

小樊
81
2024-11-01 22:28:06
欄目: 編程語言

在Go語言中,通道(channel)是一種用于在不同goroutine之間傳遞數(shù)據(jù)的同步機制。要創(chuàng)建一個通道,你可以使用make函數(shù),或者使用匿名函數(shù)和chan關鍵字。以下是兩種創(chuàng)建通道的方法:

  1. 使用make函數(shù)創(chuàng)建通道:
package main

import "fmt"

func main() {
    // 創(chuàng)建一個整數(shù)類型的通道
    ch := make(chan int)

    // 發(fā)送數(shù)據(jù)到通道
    ch <- 42

    // 從通道接收數(shù)據(jù)
    value := <-ch

    fmt.Println("Received:", value)
}
  1. 使用匿名函數(shù)和chan關鍵字創(chuàng)建通道:
package main

import "fmt"

func main() {
    // 創(chuàng)建一個整數(shù)類型的通道
    ch := chan int{}

    // 發(fā)送數(shù)據(jù)到通道
    ch <- 42

    // 從通道接收數(shù)據(jù)
    value := <-ch

    fmt.Println("Received:", value)
}

在這兩個示例中,我們創(chuàng)建了一個整數(shù)類型的通道ch,然后向其中發(fā)送了一個值42,并從通道中接收了這個值。注意,通道是阻塞的,所以在發(fā)送和接收操作完成之前,程序會等待。

0