问题在于, 嵌入
主要使您可以从嵌入类型的方法中受益(如“ 在Go中嵌入而不是继承
”中所述)
和
channel一样
map,是
未命名的类型 (使用类型文字指定,该类型文字会从现有类型组成新的类型。)。
它没有自己的方法,也没有导出的字段,因此将
channel类型嵌入到中不会很费劲
struct {}。您可能会收到与本示例中的错误消息类似的错误消息:
func (x chan int) m2() {}invalid receiver type chan int (chan int is an unnamed type)如果将
channel类型嵌入有效的类型中
struct,则该未命名的类型将能够充当method的接收者,这似乎并不是该语言最初所允许的。



