首頁 > 後端開發 > Golang > Go中如何取得原始碼檔案名稱和行號?

Go中如何取得原始碼檔案名稱和行號?

Susan Sarandon
發布: 2024-12-07 09:33:20
原創
914 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板