a:= make(chan struct {})
这样,go channel将空结构作为输入。这个输入可以是什么吗?
感谢。
答案 0 :(得分:5)
否:它可以是一个空结构(struct{}{}
),而不是“任何东西”
要成为“任何东西”,您需要interface{}
。
正如我在“Go Golang : anonymous struct and empty struct”中解释的那样,空结构对于传递大小为...的对象很有用!这是表明已经发生事情的完美信号的好方法。
答案 1 :(得分:0)
struct{}
非常类似于其他语言的单位类型;它只有一个没有信息的值。从这样的通道获得的值不包含任何信息,但是当某些事件发生时,这样的通道可用于发信号。从该频道接收的goroutine会在发送内容时唤醒。