如果我有结构:
api > v1 > *.go
我希望能够import api.v1
并从中反映出其中定义的任何类型,例如http.Handler
。
我已经反映了类型和方法,但我似乎无法弄清楚如何检查具有package v1
声明的任何内容并提取其中定义的所有类型。这不可能吗?
谢谢!
答案 0 :(得分:2)
如果您不使用导入的代码,编译器将不会包含它,所以我认为这是不可能的。
如果你以某种方式运行代码(因此它包括在内)你也可以让它调用一个寄存器函数来注册它。
Go中的编程通常不包括您要求的那种“魔法”。起初它对我有限制,但过了一段时间我已经习惯了,现在我很欣赏它们看起来像是什么样的,如果这是有道理的。