我正在实现一个加载 go 插件的 go 模块。
我假设主包中存在一个具有特定名称和特定签名的函数,并且希望在找不到它或与预期签名不匹配时收到一条很好的错误消息。
给定一个函数类型的变量,如何获得该函数的底层签名?
以下仅打印类型的名称(例如main.ModuleInitFunc)而不是完整的签名。
package main
import "fmt"
type ModuleInitFunc func(someInt int) error
func main() {
var myFunc ModuleInitFunc = nil
fmt.Printf("%T", lol)
}
回首忆惘然
相关分类