概述
golang 在1.8版本中,引入plugin 包,用来载动态链接库,以支持插件。
目前,该包只能在linux 下使用。
引入插件
p, err := plugin.Open("plugin_name.so")
if err != nil {
panic(err)
}
f, err := p.Lookup("F")
if err != nil {
panic(err)
}
f.(func())() // prints "Hello World"
插件编写
package main
import "fmt"
func F() { fmt.Println("Hello world") }
插件编译
go build -buildmode=plugin