代码拉取完成,页面将自动刷新
package rtool
import (
"runtime"
"strings"
)
func getFuncName(pc uintptr) string {
split := strings.Split(runtime.FuncForPC(pc).Name(), ".")
length := len(split)
if length <= 0 {
return ""
}
return split[length-1]
}
// FuncName 返回调用者的函数名字,如果该函数为匿名函数或者go协程则返回空字符串
func FuncName() string {
return FuncNameByLevel(1)
}
// FuncNameByLevel 返回调用者的函数名字,如果该函数为匿名函数或者go协程则返回空字符串
// level 层级,0为当前级(相当于调用 FuncName ),1为上级,2为上上级
func FuncNameByLevel(level uint) string {
level++
pc, _, _, _ := runtime.Caller(int(level))
return getFuncName(pc)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。