如何获取Go中实现接口的包中定义的所有类型?

时间:2013-05-01 22:44:41

标签: reflection go

如果我有结构:

api > v1 > *.go

我希望能够import api.v1并从中反映出其中定义的任何类型,例如http.Handler

我已经反映了类型和方法,但我似乎无法弄清楚如何检查具有package v1声明的任何内容并提取其中定义的所有类型。这不可能吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您不使用导入的代码,编译器将不会包含它,所以我认为这是不可能的。

如果你以某种方式运行代码(因此它包括在内)你也可以让它调用一个寄存器函数来注册它。

Go中的编程通常不包括您要求的那种“魔法”。起初它对我有限制,但过了一段时间我已经习惯了,现在我很欣赏它们看起来像是什么样的,如果这是有道理的。