golang 函数打印父函数名称
在Golang中,可以使用runtime
包中的Caller
函数来获取当前函数的调用栈信息。然后通过runtime.FuncForPC
函数可以获取到函数的名称。
以下是一个示例代码:
package main
import (
"fmt"
"runtime"
)
func main() {
subFunc()
}
func subFunc() {
fmt.Println(getCallerFuncName())
}
func getCallerFuncName() string {
pc, _, _, _ := runtime.Caller(1)
function := runtime.FuncForPC(pc)
return function.Name()
}
在上面的示例中,getCallerFuncName
函数使用了runtime.Caller
和runtime.FuncForPC
函数来获取调用者的函数名称。然后在subFunc
函数中调用getCallerFuncName
函数来打印父函数的名称。
运行上述代码,输出结果为:
main.subFunc
表示subFunc
函数是由main
函数调用的

原文地址: https://www.cveoy.top/t/topic/h4Na 著作权归作者所有。请勿转载和采集!