Package pluginunmarshal unmarshals Go plugins into structs.
// Assume pathToPlugin refers to a Go plugin file compiled from this code://// package main//// var Hello = "Hello from a plugin!"//// func Add(a, b int) int {// return a + b// }//varvstruct {
Addfunc(a, bint) intMyHellostring`plugin:"Hello"`Ignoredbool`plugin:"-"`
}
err:=pluginunmarshal.Open(pathToPlugin, &v)
iferr!=nil {
panic(err)
}
fmt.Println(v.Add(2, 3))
fmt.Println(v.MyHello)
// Output:// 5// Hello from a plugin!See the docs for more.