package main
import "fmt"
import "runtime"
func main() {
pc, _, _, _ := runtime.Caller(0)
fmt.Println("Name of function: " + runtime.FuncForPC(pc).Name())
fmt.Println()
// or, define a function for it
fmt.Println("Name of function: " + funcName())
x()
}
func funcName() string {
pc, _, _, _ := runtime.Caller(1)
return runtime.FuncForPC(pc).Name()
}
func x() {
fmt.Println("Name of function: " + funcName())
y()
}
func y() {
fmt.Println("Name of function: " + funcName())
z()
}
func z() {
fmt.Println("Name of function: " + funcName())
}
輸出:
的功能名稱:main.main的功能
名稱:main.main
的功能名稱:main.x
的功能名稱:主。 y
功能名稱:main.z
在我看來,main的類型是'function'。你會期望什麼作爲一個名字? –
這是一個非常重要的點。代碼示例應該可能不起作用,但我認爲問題的名稱是有效的。 – Laserallan