如何动态导入包并像java反射包一样在golang中调用它的方法,有如何使用golang反射在同一个文件中调用方法的解决方案但是从不同的包调用呢
最佳答案
你所描述的不是动态包加载,它只是反射。只要包包含在二进制文件中并且导出了类型,您就可以像引用同一包中的类型一样引用它。
动态包加载完全是另一回事;有新的插件支持,仍处于早期阶段,尚未在所有平台上得到支持。这是最接近的。
请记住,Go 不是 Java。不要试图用 Go 编写 Java。它不会工作。两者之间的平台、语言和标准库非常、非常、非常不同。 Java 可以进行动态类加载因为它有一个类加载器。所有类型都在 Java 中动态加载。在 Go 中,没有是动态加载的; Go 编译器生成 native 二进制文件,它没有任何动态。
如果您试图复制您在 Java 中习惯的东西,您可能最好以更适合您选择的技术 (Go) 的方式重新思考您的设计,或者选择一种更适合您要解决的问题的技术。
关于go - 像golang中的java一样动态包加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48160212/