首页 > 后端开发 > Golang > 如何迭代Go包中的方法?

如何迭代Go包中的方法?

Patricia Arquette
发布: 2024-11-16 06:23:03
原创
345 人浏览过

How to Iterate Through Methods in Go Packages?

发现 Go 包中的方法

在 Go 中,正如您在第一周所注意到的,没有直接的动态迭代机制通过包的方法。与 Python 等语言不同,Go 不会内省包的内容。

这一设计决策源于 Go 严格的编译过程,该过程仅保留可执行文件中显式引用的函数和变量。任何未使用的函数或变量都会在编译时被丢弃。因此,迭代可能不完整的符号集变得毫无意义,并且不会被实现。

替代方法

要规避此限制,请考虑创建一个包含您想要操作的类型。例如,在计算器场景中,您可以定义一个数组:

var calculators = []*calculator.Calc{&calculator.Add{}, &calculator.Sub{}, &calculator.Mult{}, ...}
登录后复制

然后您可以迭代此数组,调用每个 Calculator.Calc 对象上的 First 和 Second 方法。虽然这种方法可能看起来有点冗长,但它允许您迭代程序已知的完整方法集。

以上是如何迭代Go包中的方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板