Maison > développement back-end > Golang > Comment puis-je obtenir le nom du fichier de code source et le numéro de ligne dans Go ?

Comment puis-je obtenir le nom du fichier de code source et le numéro de ligne dans Go ?

Susan Sarandon
Libérer: 2024-12-07 09:33:20
original
915 Les gens l'ont consulté

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

Récupération du nom du fichier de code source et du numéro de ligne dans Go

Dans les langages de programmation comme C/C, les développeurs peuvent exploiter FILE et LINE pour obtenir le chemin du fichier de code source actuel et le numéro de ligne. Go offre-t-il une fonctionnalité similaire ?

Réponse :

Absolument. Go fournit une fonction intégrée appelée runtime.Caller pour accéder au nom du fichier de code source et au numéro de ligne de la fonction actuelle.

Implémentation :

Pour utiliser le runtime. Appelant, vous pouvez l'appeler avec un argument entier facultatif :

func GetSourceInfo(skip int) (string, int) {
    _, thisFile, thisLine, ok := runtime.Caller(skip)
    if !ok {
        return "", 0
    }
    return thisFile, thisLine
}
Copier après la connexion

Le paramètre skip spécifie le nombre de couches de la pile d'appels à monter. Par exemple, skip=0 renverrait les informations source de la fonction actuelle, skip=1 renverrait les informations source de l'appelant de la fonction actuelle, et ainsi de suite.

Exemple d'utilisation :

import (
    "fmt"
    "runtime"
)

func main() {
    file, line := GetSourceInfo(1)
    fmt.Println("Calling function:", file, line)
}
Copier après la connexion

Sortie :

Calling function: /path/to/my/file.go 12
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal