首页 > 后端开发 > Golang > Go中如何获取源代码文件名和行号?

Go中如何获取源代码文件名和行号?

Susan Sarandon
发布: 2024-12-07 09:33:20
原创
926 人浏览过

How Can I Get the Source Code File Name and Line Number in Go?

在 Go 中检索源代码文件名和行号

在 C/C 等编程语言中,开发人员可以利用 FILELINE 获取当前源代码文件路径和行号。 Go 是否提供类似的功能?

答案:

当然可以。 Go 提供了一个名为 runtime.Caller 的内置函数来访问当前函数的源代码文件名和行号。

实现:

利用运行时。调用者,您可以使用可选的整数参数来调用它:

func GetSourceInfo(skip int) (string, int) {
    _, thisFile, thisLine, ok := runtime.Caller(skip)
    if !ok {
        return "", 0
    }
    return thisFile, thisLine
}
登录后复制

skip 参数指定调用堆栈向上的层数上升。例如,skip=0 将返回当前函数的源信息,skip=1 将返回当前函数调用者的源信息,依此类推。

用法示例:

import (
    "fmt"
    "runtime"
)

func main() {
    file, line := GetSourceInfo(1)
    fmt.Println("Calling function:", file, line)
}
登录后复制

输出:

Calling function: /path/to/my/file.go 12
登录后复制

以上是Go中如何获取源代码文件名和行号?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板