加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang:获取当前的函数名称范围

发布时间:2020-12-16 19:20:09 所属栏目:大数据 来源:网络整理
导读:为了跟踪目的,我想打印出当前的函数名,比如gcc中的__FUNCTION__宏。 所以当我有一个功能 func foo () { trace()} 它会自动打印输入foo()…或类似的东西。 套餐 runtime是你的朋友: func trace() { pc := make([]uintptr,10) // at least 1 entry needed r
为了跟踪目的,我想打印出当前的函数名,比如gcc中的__FUNCTION__宏。

所以当我有一个功能

func foo () {
   trace()
}

它会自动打印输入foo()…或类似的东西。

套餐 runtime是你的朋友:
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 %sn",file,line,f.Name())
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读