相关疑难解决方法(0)

如何在go中以字符串形式获取函数的签名

我正在实现一个加载 go 插件的 go 模块。

我假设主包上存在具有特定名称和特定签名的函数,并且希望在找不到或与预期签名不匹配的情况下有一个很好的错误消息。

给定一个具有函数类型的变量,如何获得该函数的底层签名?

以下仅打印类型的名称(例如main.ModuleInitFunc)而不是完整签名。

package main

import "fmt"

type ModuleInitFunc func(someInt int) error

func main() {
    var myFunc ModuleInitFunc = nil

    fmt.Printf("%T", lol)
}
Run Code Online (Sandbox Code Playgroud)

reflection go

2
推荐指数
1
解决办法
2101
查看次数

标签 统计

go ×1

reflection ×1