说我在Go中有频道:
var c = make(chan int)
如何使用以下方法发现它是一个频道:
var isChannel = reflect.ValueOf(c).Kind() == reflect.Chan
但是没有人知道我如何确定通道的类型,在这种情况下为int
?
使用Elem
获取频道类型:
var isChannel = reflect.ValueOf(c).Kind() == reflect.Chan
channelType := reflect.ValueOf(c).Type().Elem()
对于int
通道,channelType
将是int
。