Obtention des informations sur l'appelant dans GoLang
Est-il possible de déterminer des informations sur la fonction qui a invoqué une autre fonction dans GoLang ? Si une fonction, telle que foo() ci-dessous, est appelée depuis main(), comment pouvons-nous le savoir ?
1 2 3 4 5 6 7 |
|
Bien que certains langages, tels que C#, fournissent des fonctionnalités telles que l'attribut CallerMemberName pour récupérer cette données, GoLang utilise une approche différente.
Solution : runtime.Caller
GoLang propose la fonction runtime.Caller pour acquérir des informations sur l'appelant. Voici sa syntaxe :
1 |
|
Exemple 1 : Affichage du nom du fichier de l'appelant et du numéro de ligne
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
Exemple 2 : Collecte d'informations détaillées avec l'exécution. FuncForPC
Pour des informations plus complètes, vous pouvez utiliser runtime.FuncForPC en conjonction avec runtime.Caller :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
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!