code: func ConvertToValue(p interface{}, tagName string) interface{} {
  	rv := toValue(p)
  	switch rv.Kind() {
  	case reflect.Struct:
  		return convertFromStruct(rv.Interface(), tagName)
  	case reflect.Map:
  		return convertFromMap(rv, tagName)
  	case reflect.Slice:
  		return convertFromSlice(rv, tagName)
  	case reflect.Chan:
  		return nil
  	case reflect.Invalid:
  		return nil
  	default:
  		return rv.Interface()
  	}
  }
docs: // ConvertToValue make map data from struct and tags