package plugin
Import Path
plugin (on golang.org and go.dev)
Dependency Relation
imports one package, and imported by 0 packages
Involved Source Files
d-> plugin.go
plugin_stubs.go
Exported Type Names
type Plugin (struct)
Plugin is a loaded Go plugin.
Lookup searches for a symbol named symName in plugin p.
A symbol is any exported variable or function.
It reports an error if the symbol is not found.
It is safe for concurrent use by multiple goroutines.
func Open(path string) (*Plugin, error)
type Symbol (interface)
A Symbol is a pointer to a variable or function.
For example, a plugin defined as
package main
import "fmt"
var V int
func F() { fmt.Printf("Hello, number %d\n", V) }
may be loaded with the Open function and then the exported package
symbols V and F can be accessed
p, err := plugin.Open("plugin_name.so")
if err != nil {
panic(err)
}
v, err := p.Lookup("V")
if err != nil {
panic(err)
}
f, err := p.Lookup("F")
if err != nil {
panic(err)
}
*v.(*int) = 7
f.(func())() // prints "Hello, number 7"
func (*Plugin).Lookup(symName string) (Symbol, error)
Exported Values
![]() |
The pages are generated with Golds v0.1.7. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project and developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |