Go:检查值类型是否为函数

问题描述 投票:0回答:2

如何检查 golang 中的某些变量是否具有类型

func
,如下所示:

func A() {}

func main() {
    variable := A
    isFunc := IsFunc(variable) // true or false
}
reflection casting go
2个回答
19
投票
func IsFunc(v any) bool {
   return reflect.TypeOf(v).Kind() == reflect.Func
}

3
投票

已经解决了这个问题:

func IsFunc(fn interface{}) bool {
    return reflect.TypeOf(fn).Kind() == reflect.Func
}
© www.soinside.com 2019 - 2024. All rights reserved.