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
Susan Sarandonoriginal
2024-12-07 09:33:20950parcourir

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
}

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)
}

Sortie :

Calling function: /path/to/my/file.go 12

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!

Déclaration:
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