gpt4 book ai didi

go - 获取实现接口(interface)或继承结构的结构的名称

转载 作者:IT王子 更新时间:2023-10-29 00:52:39 24 4
gpt4 key购买 nike

是否可以使用反射获取表示实现接口(interface)或从特定包中的特定结构继承的所有类型的名称的字符串片段?

最佳答案

在对 reflect 包的文档进行一些研究后,我认为这是不可能的。这不是反射在 go 中的工作方式:接口(interface)机制不是声明性的(而是鸭子类型的),没有这样的类型列表。

也就是说,使用 ast 包解析你的项目,获取类型列表,检查它们是否实现接口(interface),然后编写一些代码给你可能会更幸运所说的 slice 。这会为编译增加一个步骤,但可能会很有魅力。

关于go - 获取实现接口(interface)或继承结构的结构的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25160505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com