Go:检查值的类型是否有效

时间:2014-12-19 16:03:49

标签: reflection casting go

我如何检查golang中的某个变量是否有类型func,如下所示:

func A() {}

func main() {
    variable := A
    isFunc := IsFunc(variable) // true or false
}

2 个答案:

答案 0 :(得分:9)

func IsFunc(v interface{}) bool {
   return reflect.TypeOf(v).Kind() == reflect.Func
}

答案 1 :(得分:2)

已经解决了这个问题:

func IsFunc(fn interface{}) bool {
    return reflect.TypeOf(fn).Kind() == reflect.Func
}