通道是连接并发 goroutine 的管道。您可以从一个 goroutine 向通道发送值,并在另一个 goroutine 中接收这些值。
|
|
|
package main
|
|
import "fmt"
|
|
func main() {
|
使用 make(chan val-type) 创建一个新的通道。通道由它们传递的值类型化。
|
messages := make(chan string)
|
使用 channel <- 语法将值发送到通道。这里我们从一个新的 goroutine 向上面创建的 messages 通道发送 "ping" 。
|
go func() { messages <- "ping" }()
|
<-channel 语法从通道接收值。这里我们将接收上面发送的 "ping" 消息并将其打印出来。
|
msg := <-messages
fmt.Println(msg)
}
|