ホームページ > バックエンド開発 > 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 のようなプログラミング言語では、開発者は FILE と LINE を使用して、現在のソース コード ファイルのパスと行番号を取得します。 Go も同様の機能を提供していますか?

答え:

もちろんです。 Go には、現在の関数のソース コード ファイル名と行番号にアクセスするための runtime.Caller という組み込み関数が用意されています。

実装:

ランタイムを利用します。呼び出し元は、オプションの整数引数を使用して呼び出すことができます:

func GetSourceInfo(skip int) (string, int) {
    _, thisFile, thisLine, ok := runtime.Caller(skip)
    if !ok {
        return "", 0
    }
    return thisFile, thisLine
}
ログイン後にコピー
スキップ パラメーターは、上層のレイヤー数を指定します。呼び出しスタックが昇順になります。たとえば、skip=0 は現在の関数のソース情報を返し、skip=1 は現在の関数の呼び出し元のソース情報を返します。

使用例:

import (
    "fmt"
    "runtime"
)

func main() {
    file, line := GetSourceInfo(1)
    fmt.Println("Calling function:", file, line)
}
ログイン後にコピー
出力:

以上がGo でソース コードのファイル名と行番号を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート