I'm implementing a go module that loads go plugins.
I'm assuming a function with a certain name and a certain signature exists on the main package, and would like to have a nice error message in case it is not found or not matching the expected signature.
Given a variable with a function type, how can one get the underlying signature of that function?
The following only prints the type's name (e.g. main.ModuleInitFunc
) and not the full signature.
package main
import "fmt"
type ModuleInitFunc func(someInt int) error
func main() {
var myFunc ModuleInitFunc = nil
fmt.Printf("%T", lol)
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…