为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取当前函数名

如何获取当前函数名

Go
长风秋雁 2021-08-16 19:15:47
出于跟踪目的,我想打印出当前函数名称,例如__FUNCTION__gcc 中的宏。所以当我有一个功能时func foo () {   trace()}它会自动打印出来Entering foo()...或类似的东西。
查看完整描述

3 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

包运行时是您的朋友:


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())

}


查看完整回答
反对 回复 2021-08-16
  • 3 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信