首頁 >後端開發 >Golang >如何在 Go 中使用反射檢索函數名稱?

如何在 Go 中使用反射檢索函數名稱?

DDD
DDD原創
2024-11-09 19:44:02636瀏覽

How Can I Retrieve a Function's Name Using Reflection in Go?

透過反射檢索函數名稱

反射函數的型別不會產生其名稱。相反,使用 FuncForPc 實用程式來檢索 *Func 實例。此實例提供對函數名稱的訪問,其格式為套件限定的,例如“main.main”。如果需要非限定名稱,只需對結果進行標記即可。

import (
    "fmt"
    "reflect"
    "runtime"
)

func main() {
    name := runtime.FuncForPC(reflect.ValueOf(main).Pointer()).Name()
    fmt.Println("Name of function:", name)
}

以上是如何在 Go 中使用反射檢索函數名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn