您现在的位置是:首页 > 编程 > 

Go程序例子(29):通道

2025-07-28 05:26:39
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组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1253560.html

相关标签:无
上传时间: 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