【发布时间】:2020-05-31 03:27:35
【问题描述】:
假设我在 Go 中有一个 chan:
var c = make(chan int)
如何发现它是一个频道:
var isChannel = reflect.ValueOf(c).Kind() == reflect.Chan
但是有谁知道我如何确定频道的类型,在这种情况下是int?
【问题讨论】:
假设我在 Go 中有一个 chan:
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。
【讨论】: