猿问

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

a := make(chan struct{})

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

谢谢。


HUX布斯
浏览 190回答 2
2回答

哔哔one

不:它可以是一个空的结构体(struct{}{}),而不是“任何东西”要成为“任何东西”,您需要interface{}.正如我在“ Go Golang:匿名结构和空结构”中解释的那样,空结构对于传递大小为... 0 的对象很有用!这是表示某事已发生的完成信号的好方法。

慕姐8265434

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

相关分类

Go
我要回答