【问题标题】:How to get type of chan with reflect package如何使用反射包获取 chan 类型
【发布时间】:2020-05-31 03:27:35
【问题描述】:

假设我在 Go 中有一个 chan:

var c = make(chan int)

如何发现它是一个频道:

var isChannel = reflect.ValueOf(c).Kind() == reflect.Chan

但是有谁知道我如何确定频道的类型,在这种情况下是int

【问题讨论】:

    标签: go channel reflect


    【解决方案1】:

    使用Elem获取频道类型:

    var isChannel = reflect.ValueOf(c).Kind() == reflect.Chan
    channelType := reflect.ValueOf(c).Type().Elem()
    

    对于int 频道,channelType 将是int

    【讨论】:

    猜你喜欢
    • 2012-04-03
    • 1970-01-01
    • 2018-06-05
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多