func GetType(v interface{}) reflect.Type {
	typ := reflect.TypeOf(v)
	// if a pointer to a struct is passed, get the type of the dereferenced object
	if typ.Kind() == reflect.Ptr {
		typ = typ.Elem()
	}
	return typ
}
// GetType returns value type.
// support struct and pointer both.
GetType returns value type.
support struct and pointer both.
// GetType returns value type . // support struct and pointer both .
func GetType(v interface{}) reflect.Type {
	typ := reflect.TypeOf(v)
	if typ.Kind() == reflect.Ptr {
		typ = typ.Elem()
	}
	return typ
}
func GetType ( v interface { } ) reflect . Type { typ := reflect . TypeOf ( v ) if typ . Kind ( ) == reflect . Ptr { typ = typ . Elem ( ) } return typ }
GetType returns value type.
GetType returns value type .
// if a pointer to a struct is passed, get the type of the dereferenced object