检测golang方法是否是内部的?

时间:2016-10-19 04:50:24

标签: go reflection

我正在编写一个迭代给定结构上的方法的函数,并将方法绑定到处理程序。如果可能的话,我想跳过内部方法。我不确定是否可以明确这样做 - 我查看了反射包的文档,但我没有看到检测给定值是否为内部方法的方法。我知道我可以得到方法的名称,然后检查它是否以小写字母开头,但我不确定是否有一种犹太方法可以实现这一点。内部/公共边界实际上只能在编译时存在,因此除了方法名称之外甚至没有一种方法可以知道这一点。在任何一种情况下,我都想知道。谢谢!

1 个答案:

答案 0 :(得分:2)

反射包不会通过Type.Method为您提供未导出的方法。差不多,如果你能通过反射看到它,它已经被导出了。

请参阅https://play.golang.org/p/61qQYO38P0