util-go/reflect/type.go

24 lines
481 B
Go
Raw Normal View History

2019-11-12 14:21:34 +00:00
package reflect
import "reflect"
// GetTypeInfo is function
func GetTypeInfo(t reflect.Type) (realType reflect.Type, pkgName string, name string) {
if reflect.Ptr == t.Kind() {
return GetTypeInfo(t.Elem())
}
return t, t.PkgPath(), t.Name()
}
2019-11-13 13:23:17 +00:00
// IsTypeKind is function
func IsTypeKind(t reflect.Type, kind reflect.Kind, removePtr bool) bool {
if reflect.Ptr == t.Kind() {
if removePtr {
return IsTypeKind(t.Elem(), kind, removePtr)
}
}
return kind == t.Kind()
}