golang 获取执行函数所在文件
在Go语言中,可以使用runtime.Caller()函数来获取执行函数所在的文件和行号。
下面是一个简单的示例代码:
package main
import (
"fmt"
"path/filepath"
"runtime"
)
func main() {
printCallerInfo()
}
func printCallerInfo() {
// 获取调用者的信息
_, file, line, ok := runtime.Caller(1)
if !ok {
fmt.Println("Failed to get caller info")
return
}
// 获取文件名
filename := filepath.Base(file)
fmt.Printf("Caller info: %s:%d\n", filename, line)
}
在上面的代码中,runtime.Caller(1)表示获取调用printCallerInfo()函数的调用者的信息。然后,使用filepath.Base()函数获取文件名,并将文件名和行号打印出来。
输出结果类似于:
Caller info: main.go:9
这表示printCallerInfo()函数在main.go文件的第9行被调用
原文地址: https://www.cveoy.top/t/topic/iMK2 著作权归作者所有。请勿转载和采集!