为了账号安全,请及时绑定邮箱和手机立即绑定

go channel 以空结构作为输入。这个输入可以是任何东西吗?

go channel 以空结构作为输入。这个输入可以是任何东西吗?

Go
HUX布斯 2021-08-10 21:10:23
a := make(chan struct{})这样,go channel 将空结构作为输入。这个输入可以是任何东西吗?谢谢。
查看完整描述

2 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

不:它可以是一个空的结构体(struct{}{}),而不是“任何东西”

要成为“任何东西”,您需要interface{}.

正如我在“ Go Golang:匿名结构和空结构”中解释的那样,空结构对于传递大小为... 0 的对象很有用!这是表示某事已发生的完成信号的好方法。


查看完整回答
反对 回复 2021-08-10
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

struct{}很像其他语言中的单位类型;它只有一个值,没有信息。您从此类通道获得的值将不包含任何信息,但此类通道可用于在某些事件发生时发出信号。每当有东西发送给它时,从该通道接收的 goroutine 就会唤醒。


查看完整回答
反对 回复 2021-08-10
  • 2 回答
  • 0 关注
  • 189 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信