Reflection 如何在Go中获得包中定义的实现接口的所有类型?
如果我有结构:Reflection 如何在Go中获得包中定义的实现接口的所有类型?,reflection,go,Reflection,Go,如果我有结构: api > v1 > *.go 我希望能够导入api.v1,并从中反映出其中定义的满足http.Handler的任何类型 我已经对类型和方法进行了反思,但我似乎不知道如何检查包含包v1声明的任何东西,并提取其中定义的所有类型。这不可能吗 谢谢 如果不使用导入的代码,编译器将不会包含它,因此我认为这是不可能的 如果您正在以某种方式运行代码(因此包含了它),那么您最好让它调用一个register函数来注册自己 围棋中的编程通常不包括你所要求的那种“魔力”。起初,我觉得这
api > v1 > *.go
我希望能够导入api.v1
,并从中反映出其中定义的满足http.Handler的任何类型
我已经对类型和方法进行了反思,但我似乎不知道如何检查包含包v1
声明的任何东西,并提取其中定义的所有类型。这不可能吗
谢谢 如果不使用导入的代码,编译器将不会包含它,因此我认为这是不可能的 如果您正在以某种方式运行代码(因此包含了它),那么您最好让它调用一个register函数来注册自己
围棋中的编程通常不包括你所要求的那种“魔力”。起初,我觉得这对我来说很有限,但过了一段时间我就习惯了,现在我明白了,如果这有道理的话,事情就是这样。我强烈感觉到,无论遇到什么问题,你都会从错误的角度来处理。考虑采用包映像的方法,并让每个实现在初始化过程中登记自己。当我这样做的时候,感觉干净多了。谢谢我发现了init()和uuImports,这似乎让我以一种更好的方式重新思考了这个问题。谢谢杰出的玩得开心点,我知道我玩围棋的时候也是这样。:-)