如何使用 reflect 包获取 chan 的类型
How to get type of chan with reflect package
假设我有一个围棋选手:
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
。
假设我有一个围棋选手:
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
。