With interface{} it has to be a type check at runtime: https://play.golang.org/p/t2jip9E__F1
Matt On Monday, March 26, 2018 at 12:34:34 PM UTC-5, 刘焱 wrote: > > 'chan interface {}' dosen't work. > > package main > > import "fmt" > > type ChannelWrapper struct { > Channel chan interface{} > } > > func main() { > x := make(chan int) > y := ChannelWrapper { x } > fmt.Println(y) > } > > Build this will yield > cannot use x (type chan int) as type chan interface {} in field value > > > Cast x as follow: > chan interface{} (x) > > Will yield > cannot convert x (type chan int) to type chan interface {} > > > > 在 2018年3月24日星期六 UTC+8上午1:41:59,matthe...@gmail.com写道: >> >> An empty interface var can hold any type, so you could have a chan >> interface{} then use an interface type assertion when you read a value. >> >> Matt > > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.