用dw做网站背景,手机域名网站怎么做,什么是网络营销基本思想,做网站搞笑口号共享库工具 Currently plugins are only supported on Linux and macOS 通过plugin我们可以很方便的对于不同功能加载相应的模块并调用相关的模块#xff1b;也可以针对不同语言#xff08;英文、汉语、德语……#xff09;加载不同的语言so文件#xff0c;进行不同的输出也可以针对不同语言英文、汉语、德语……加载不同的语言so文件进行不同的输出还可以把编译出的文件给不同的编程语言用
go plugin的使用方法
使用加载plugin基本流程加载编译好的插件 plugin.Open(./plugin_doctor.so) (*.so文件路径相对与可执行文件的路径,可以是绝对路径)
寻找插件可到变量 plug.Lookup(Doctor),
TypeAssert: Symbol(interface{}) 转换成API的接口类型
执行API interface的方法e.g
实验记录
[koupython plugin]$ ls
aplugin.go aplugin.so test.go
[koupython plugin]$ pwd
/home/kou/go/src/plugin
[koupython plugin]$ cat aplugin.go
package main
func Add(x, y int) int {return xy}
func Subtract(x, y int) int {return x-y
}
[koupython plugin]$ cat test.go
package mainimport (fmtplugin
)func main(){p, _ : plugin.Open(./aplugin.so)add, _ : p.Lookup(Add)sub, _ : p.Lookup(Subtract)sum : add.(func(int, int)int )(11, 2)fmt.Println(sum)subt : sub.(func(int, int)int )(22,1)fmt.Println(subt)}
结果
go build -buildmodeplugin -o aplugin.so aplugin.go
[koupython plugin]$ go run test.go
13
21参考文献
http://www.361way.com/go-plugin/5925.html https://mojotv.cn/go/golang-plugin-tutorial