如何获取当前函数名

出于跟踪目的,我想打印出当前函数名称,例如__FUNCTION__gcc 中的宏。


所以当我有一个功能时


func foo () {

   trace()

}

它会自动打印出来Entering foo()...或类似的东西。


长风秋雁
浏览 182回答 3
3回答

阿波罗的战车

包运行时是您的朋友:func trace() {    pc := make([]uintptr, 10)  // at least 1 entry needed    runtime.Callers(2, pc)    f := runtime.FuncForPC(pc[0])    file, line := f.FileLine(pc[0])    fmt.Printf("%s:%d %s\n", file, line, f.Name())}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go