Ist es bei einer gegebenen Funktion möglich, ihren Namen zu erhalten? Sagen:
func foo() {
}
func GetFunctionName(i interface{}) string {
// ...
}
func main() {
// Will print "name: foo"
fmt.Println("name:", GetFunctionName(foo))
}
Mir wurde gesagt, dass runtime.FuncForPC helfen würde, aber ich verstand nicht, wie man es benutzt.
go
reflection
go-reflect
Moraes
quelle
quelle
GetFunctionName
könnte der gleiche Name für verschiedene Funktionen zurückgegeben werden?Nicht genau das, was Sie wollen, da es den Dateinamen und die Zeilennummer protokolliert, aber hier ist, wie ich es in meiner Tideland Common Go-Bibliothek ( http://tideland-cgl.googlecode.com/ ) mit dem "Laufzeit" -Paket mache :
quelle