Go程序例子(29):通道
Go程序例子(29):通道
通道(Channels)是连接并发 goroutine 的管道。你可以从一个 goroutine 向通道发送值,并在另一个 goroutine 中接收这些值。代码语言:go复制package main
import "fmt"
func main() {
// 要创建一个新的通道,可以使用 make(chan val-type)。通道的类型由它
Go程序例子(29):通道
通道(Channels)是连接并发 goroutine 的管道。你可以从一个 goroutine 向通道发送值,并在另一个 goroutine 中接收这些值。
代码语言:go复制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)
}
当我们运行这个程序时,"ping" 消息会成功地通过通道从一个 goroutine 传递到另一个 goroutine。 运行结果:
代码语言:javascript代码运行次数:0运行复制$ go run channels.go
ping
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-27 23:27:04
推荐阅读
留言与评论(共有 10 条评论) |
本站网友 601866中海集运 | 9分钟前 发表 |
在下面的示例中 | |
本站网友 济宁和欣家园 | 25分钟前 发表 |
我们将接收之前发送的 "ping" 消息并将其打印出来: msg | |
本站网友 全球化战略 | 8分钟前 发表 |
我们从一个新的 goroutine 向 messages 通道发送 "ping": go func() { messages <- "ping" }() // <-channel 语法用于从通道接收值 | |
本站网友 张秀文 | 10分钟前 发表 |
messages | |
本站网友 结缔组织 | 4分钟前 发表 |
在这个例子中 | |
本站网友 t36次 | 6分钟前 发表 |
= make(chan string) // 要使用 channel <- 语法将值发送到通道 | |
本站网友 深度报道 | 14分钟前 发表 |
我们将接收之前发送的 "ping" 消息并将其打印出来: msg | |
本站网友 中国科技大学少年班 | 4分钟前 发表 |
messages | |
本站网友 在或不在 | 21分钟前 发表 |
messages |