登录
首页 >  Golang >  Go问答

使用反射包获取通道(chan)的类型

来源:stackoverflow

时间:2024-02-27 08:36:24 240浏览 收藏

从现在开始,努力学习吧!本文《使用反射包获取通道(chan)的类型》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

假设我在 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

今天关于《使用反射包获取通道(chan)的类型》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>