相关疑难解决方法(0)

如何在Go中获取函数的名称?

鉴于一个功能,是否有可能得到它的名字?说:

func foo() {
}

func GetFunctionName(i interface{}) string {
    // ...
}

func main() {
    // Will print "name: foo"
    fmt.Println("name:", GetFunctionName(foo))
}
Run Code Online (Sandbox Code Playgroud)

我被告知runtime.FuncForPC会有所帮助,但我不明白如何使用它.

reflection go go-reflect

87
推荐指数
3
解决办法
4万
查看次数

确保类型在Go中的编译时实现接口

如何确保类型在编译时实现接口?执行此操作的典型方法是无法从该类型分配支持接口,但是我有几种仅动态转换的类型.在运行时,这会生成非常粗暴的错误消息,而没有为编译时错误提供更好的诊断.在运行时找到我希望支持接口的类型也很不方便,事实上并非如此.

types compiler-errors interface go

15
推荐指数
3
解决办法
4270
查看次数

标签 统计

go ×2

compiler-errors ×1

go-reflect ×1

interface ×1

reflection ×1

types ×1