gpt4 book ai didi

go - 在 Go 中发布 channel

转载 作者:IT王子 更新时间:2023-10-29 01:00:19 25 4
gpt4 key购买 nike

我有一个 TCP 套接字和 2 个 goroutines 读取和写入流。我正在编写一个从 channel 读取数据的 goroutine。如果 TCP 连接断开,则从 go 例程中读取将检测到错误并停止。

但是我如何释放一个有 goroutine 写入的 channel ?

是否有像 chan.release() 这样的方法,或者我应该发布一个特殊的数据包来告诉 goroutine 结束?

最佳答案

close(ch)将关闭 channel 。

如果您在 channel 上进行测距,则 for 循环将在 channel 关闭时退出。 val, ok := <-ch允许您检查关闭的 channel 。 ok 将是一个 bool 值,如果 ch 关闭则为 false 如果 ch 打开则为 true。

关于go - 在 Go 中发布 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14837970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com