|      1mengzhuo      2015-11-23 19:03:13 +08:00 go 是静态语言!!!是需要编译的!!!是不能更改运行时的!! 只能用父进程监控文件变化,重新编译,杀掉原有子进程,然后启动。 | 
|  |      2chu1337 OP 或者问题可以转化成:怎么获取一个包中的所有 struct ? | 
|  |      3Zzzzzzzzz      2015-11-23 19:10:47 +08:00 go 插件编译成动态链接库暴露固定的接口,  主程序里通过 cgo 用 dlopen 、 dlsym 这些调用这个接口, 但是感觉会不会太坑..... | 
|  |      4moro      2015-11-23 20:37:07 +08:00 反射可以实现。 | 
|  |      6Unknwon      2015-11-23 21:03:34 +08:00 如果你可以实现知道哪些函数要被执行,可以用字符串查找来通过反射执行。。 | 
|  |      7ksword      2015-11-23 21:09:10 +08:00 go 是静态编译的,不适合实现插件机制,或集成 lua 试下: https://github.com/yuin/gopher-lua | 
|  |      8moro      2015-11-23 22:06:14 +08:00 包必须要先引入。 | 
|  |      9jybox      2015-11-23 22:34:40 +08:00 https://golang.org/pkg/reflect/ 反射模块可以提供一定程度上的运行时类型信息 | 
|  |      10chai2010      2015-11-24 09:38:59 +08:00 做成 dll | 
|      11456vv      2016-03-17 15:01:56 +08:00 四种好用的方法: 1 , RPC 。 2 , template 。 3 , reflect 。 4 , http |