Question :
Est-il possible de récupérer par programme le nom d'une fonction dans Go ? Par exemple, étant donné la fonction foo(), peut-on déterminer son nom à l'aide d'une méthode comme GetFunctionName(foo) ?
Réponse :
Oui, il est possible de obtenir le nom d'une fonction dans Go en utilisant le runtime.FuncForPC function.
Solution :
Voici une solution utilisant runtime.FuncForPC :
package main import ( "fmt" "reflect" "runtime" ) func foo() {} func GetFunctionName(i interface{}) string { return runtime.FuncForPC(reflect.ValueOf(i).Pointer()).Name() } func main() { fmt.Println("name:", GetFunctionName(foo)) }
Explication :
En appelant GetFunctionName(foo), vous obtiendrez la chaîne "foo" comme résultat.
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!