在Go語言中,通道(channel)是一種用于在不同goroutine之間傳遞數(shù)據(jù)的同步機制。要創(chuàng)建一個通道,你可以使用make
函數(shù),或者使用匿名函數(shù)和chan
關鍵字。以下是兩種創(chuàng)建通道的方法:
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)
}
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ā)送和接收操作完成之前,程序會等待。