有没有办法将[分配给变量]的函数的名称Printf?从游乐场出发:func hello(name string) string { return fmt.Sprintf("Hello, %s", name)}func main() { testFunc := hello fmt.Println(testFunc("DoubleNNs")) fmt.Printf("%v", testFunc)}/*Output:./prog.go:14:2: Printf format %v arg testFunc is a func value, not calledGo vet exited.Hello, DoubleNNs0x499200Program exited.*/我找到了指导如何打印被调用函数名称的答案,但不要获取任意函数的字符串表示形式。
1 回答
收到一只叮咚
TA贡献1821条经验 获得超4个赞
可以使用反射
包来获取函数,然后将其传递给运行时。用于
获取有关函数的信息。uintptr
runtime.FuncForPC(reflect.ValueOf(testFunc).Pointer()).Name()
https://play.golang.org/p/T3pmjd6ds1i
- 1 回答
- 0 关注
- 57 浏览
添加回答
举报
0/150
提交
取消