### 源代码地址:
https://github.com/rocket049/pluginloader
用于简化调用 plugin 内的函数。
### 内容
```
type PluginLoader struct {
...
}
func (p *PluginLoader) Call(funcName string, p0 ...interface{}) (interface{}, error)
```
### 用法:
```
import "github.com/rocket049/pluginloader"
p, err := pluginloader.NewPluginLoader( "path_to_plugin" )
if err != nil {
panic(err)
}
res, err := p.Call("NameOfFunc", p0,p1,p3,...)
```
### 注意:
被调用的函数可以无返回值,也可以返回1个返回值,或者1个返回值跟1个`error`。
被 `Call` 的函数返回值格式只能是: `ResType` 或 `(ResType, error)` -- `ResType`可以是任何类型。
当只有0个或1个返回值时,`Call` 返回的 `error` 始终是 `nil`。
有疑问加站长微信联系(非本文作者)