首页  >  文章  >  后端开发  >  Go反射可以使用字符串名称调用结构体方法吗?

Go反射可以使用字符串名称调用结构体方法吗?

Linda Hamilton
Linda Hamilton原创
2024-11-19 21:14:02730浏览

Can Go Reflection Invoke a Struct Method Using a String Name?

反射:按字符串构造

问题出现了:是否可以通过反射将其名称指定为字符串来调用结构体的方法?

在 Go 中,反射依赖于一个值来确定底层类型。正如所提供的代码片段中所尝试的那样,使用字符串作为表达式来获取类型是不可能的。

类似问题中接受的答案建议将字符串名称与目标类型进行匹配。然而,这种方法需要手动类型映射,并且不提供通过名称作为字符串访问结构体的直接解决方案。

结论

不幸的是,没有Go 中的内置机制或注册表允许仅使用其名称作为字符串直接调用结构体的方法。为了实现这一点,需要实现自定义类型注册表,这需要手动将类型名称映射到值。

以上是Go反射可以使用字符串名称调用结构体方法吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn