相关疑难解决方法(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万
查看次数

有可能在golang中获取有关调用函数的信息吗?

有可能在golang中获取有关调用函数的信息吗?例如,如果我有

func foo() {
    //Do something
}
func main() {
    foo() 
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能是foo被称为从main
我能用其他语言(例如在C#中我只需要使用CallerMemberNameclass属性)

go

24
推荐指数
2
解决办法
2万
查看次数

当前函数名称

有没有办法包含我所在的当前函数的名称?我想将它包含在我的调试日志中,而不是硬编码 func 名称,这在一段时间后会很痛苦。

谢谢。

go

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

标签 统计

go ×3

go-reflect ×1

reflection ×1