Documentation
¶
Index ¶
- Variables
- func FloatToFloat(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func FloatToInt(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func FloatToString(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func IntToInt(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func IntToString(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func InterfaceToNoneInterface(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func MapToMap(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func MapToStruct(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func MustTransform(in interface{}, out interface{})
- func MustTransformToMap(in interface{}) (m map[string]string)
- func NoneInterfaceToInterface(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func NonePtrToPtr(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func PtrToPtr(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func SliceStructToMapStruct(in interface{}, out interface{}, idFieldName string) (err error)
- func SliceToSlice(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func StringToBool(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func StringToFloat(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func StringToInt(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func StringToString(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func StringToTime(traner Transformer, in reflect.Value, out reflect.Value) (err error)
- func StringToUint(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func StringTransformSubType(in interface{}, transformTable map[string]map[string]string) (err error)
- func StructFieldCopy(in interface{}, out interface{})
- func StructToMap(t Transformer, in reflect.Value, out reflect.Value) (err error)
- func TimeToString(traner Transformer, in reflect.Value, out reflect.Value) (err error)
- func ToString(in interface{}) (out string, err error)
- func ToStringReflect(in reflect.Value) (out string, err error)
- func Transform(in interface{}, out interface{}) (err error)
- type Kind
- type Transformer
- type TransformerFunc
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultTransformer = Transformer{ Map: map[Kind]TransformerFunc{ Map: MapToMap, Struct: MapToStruct, Ptr: NonePtrToPtr, Interface: NoneInterfaceToInterface, }, String: map[Kind]TransformerFunc{ String: StringToString, Int: StringToInt, Uint: StringToUint, Float: StringToFloat, Bool: StringToBool, Time: NewStringToTimeFunc(kmgTime.DefaultTimeZone), Ptr: NonePtrToPtr, Interface: NoneInterfaceToInterface, }, Ptr: map[Kind]TransformerFunc{ Ptr: PtrToPtr, }, Struct: map[Kind]TransformerFunc{ Map: StructToMap, Ptr: NonePtrToPtr, Interface: NoneInterfaceToInterface, }, Slice: map[Kind]TransformerFunc{ Slice: SliceToSlice, Ptr: NonePtrToPtr, Interface: NoneInterfaceToInterface, }, Interface: map[Kind]TransformerFunc{ String: InterfaceToNoneInterface, Int: InterfaceToNoneInterface, Float: InterfaceToNoneInterface, Bool: InterfaceToNoneInterface, Time: InterfaceToNoneInterface, Struct: InterfaceToNoneInterface, Map: InterfaceToNoneInterface, Ptr: InterfaceToNoneInterface, }, Int: map[Kind]TransformerFunc{ String: IntToString, Int: IntToInt, Ptr: NonePtrToPtr, Interface: NoneInterfaceToInterface, }, Float: map[Kind]TransformerFunc{ Int: FloatToInt, Float: FloatToFloat, Ptr: NonePtrToPtr, String: FloatToString, Interface: NoneInterfaceToInterface, }, Time: map[Kind]TransformerFunc{ String: TimeToString, Ptr: NonePtrToPtr, Interface: NoneInterfaceToInterface, }, }
Functions ¶
func FloatToFloat ¶
func FloatToInt ¶
func FloatToString ¶
func IntToString ¶
func MapToStruct ¶
假设map的key类型是string,值类型不限
func MustTransform ¶
func MustTransform(in interface{}, out interface{})
func MustTransformToMap ¶
func NonePtrToPtr ¶
func SliceStructToMapStruct ¶
transform slice of struct to map of struct, it will report error if Id is not unique 有Id重复验证
func SliceToSlice ¶
func StringToBool ¶
"" => false
func StringToFloat ¶
"" => 0.0
func StringToInt ¶
"" => 0
func StringToString ¶
func StringToTime ¶
func StringToUint ¶
"" => 0
func StringTransformSubType ¶
func StringTransformSubType(in interface{}, transformTable map[string]map[string]string) (err error)
transform some string on some sub type base on type full name can be general by callback base on type all value must exist in that transformTable specal case: 1."" -> ""
func StructFieldCopy ¶
func StructFieldCopy(in interface{}, out interface{})
copy fields value between two pointer of struct, it will copy value with same field name in two struct it ignore not share field name it ignore share field name with not same type it ignore field can not set (it is addressable and was not obtained by the use of unexported struct fields)
func StructToMap ¶
假设map的key类型是string,值类型不限
func TimeToString ¶
Types ¶
type Transformer ¶
type Transformer map[Kind]map[Kind]TransformerFunc
func (Transformer) Clone ¶
func (t Transformer) Clone() Transformer
func (Transformer) Transform ¶
func (t Transformer) Transform(in interface{}, out interface{}) (err error)
type TransformerFunc ¶
func NewStringToTimeFunc ¶
func NewStringToTimeFunc(location *time.Location) TransformerFunc
Click to show internal directories.
Click to hide internal directories.