Documentation ¶
Index ¶
- func Bean2Map(structVal any, forceConvFields ...string) map[string]any
- func Bean2Map4CustomStrategy(structVal any, convertName func(fileName string) string, ...) map[string]any
- func Bean2MapHump(structVal any, forceConvFields ...string) map[string]any
- func Bean2MapSnake(structVal any, forceConvFields ...string) map[string]any
- func BeanFieldsForeach(structVal any, ...)
- func CopyProperties(source any, target any, ignores ...string)
- func CopyPropertiesByJson(source any, target any)
- func CopyStruct[Struct any](source any) *Struct
- func FindFiles(dir string) ([]string, error)
- func FindFilesWithPrefix(dir, prefix string) ([]string, error)
- func FindFilesWithPrefix2(dir, prefix string) ([]string, error)
- func GetAllFieldNames4CustomStrategy(structVal any, convertName func(fileName string) string, ...) []string
- func GetFieldNames4IncludeTypeAndCustomStrategy(structVal any, fieldType FieldType, convertName func(fileName string) string, ...) []string
- func GetNotZeroFieldNames4CustomStrategy(structVal any, convertName func(fileName string) string, ...) []string
- func GetZeroFieldNames(structVal any, ignores ...string) []string
- func GetZeroFieldNames4CustomStrategy(structVal any, convertName func(fileName string) string, ...) []string
- func GetZeroFieldNamesHump(structVal any, ignores ...string) []string
- func GetZeroFieldNamesSnake(structVal any, ignores ...string) []string
- func IsNil(a any) bool
- func Map2Bean[T comparable](mapVal map[string]any) *T
- func NotExistTag(rtStruct reflect.Type, tag string) bool
- func ReflectConvert4Any(rt reflect.Type, val any) (reflect.Value, error)
- func ReflectConvert4Str(rt reflect.Type, p string) (reflect.Value, error)
- func Str2Float64(p string) (float64, error)
- func Str2Int(p string) (int, error)
- func Str2Int64(p string) (int64, error)
- func Str2Uint64(p string) (uint64, error)
- func ToJson(obj any) string
- func ToJson2(obj any, omitempty bool) string
- func ToJson3(obj any) string
- func ToObj(jsonStr string, obj any)
- func ToObj4Bytes(bytes []byte, obj any)
- func ToStruct[T comparable](jsonStr string) *T
- func ToStruct4Bytes[T comparable](bytes []byte) *T
- type FieldType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Bean2Map4CustomStrategy ¶
func Bean2Map4CustomStrategy(structVal any, convertName func(fileName string) string, forceConvFields ...string) map[string]any
Bean2Map4CustomStrategy 结构体转map, 可以指定字段名称进行强制转换,可以自定义字段名称转换方式 structVal - 结构体对象 convertName - 自定义字段名称转换函数 forceConvFields - 强制转换的字段名称列表
func Bean2MapHump ¶
Bean2MapHump 结构体转map, 可以指定字段名称进行强制转换,并将字段名称转换为 “小驼峰” 命名方式 structVal - 结构体对象 forceConvFields - 强制转换的字段名称列表
func Bean2MapSnake ¶
Bean2MapSnake 结构体转map, 可以指定字段名称进行强制转换,并将字段名称转换为 “小写下划线” 命名方式 structVal - 结构体对象 forceConvFields - 强制转换的字段名称列表
func BeanFieldsForeach ¶
func BeanFieldsForeach(structVal any, consumer func(structField reflect.StructField, rvField reflect.Value))
BeanFieldsForeach 将结构体字段反射进行循环自定义处理 structVal - 结构体对象 consumer - 自定义处理函数
函数会收到两个参数: 1、structField: 结构体字段对应的字段结构反射对象 reflect.StructField 2、rvField: 结构体字段对应的反射值 reflect.Value
func CopyProperties ¶
CopyProperties 结构体的属性赋值,将source赋值到target上,可以指定字段不进行赋值 底层使用结构体反射的方式实现 注意: 两个结构体内的属性名称一样的才会赋值成功,否则名称不一样的不生效 source - 源对象 target - 目标对象 ignores - 忽略的字段名称列表
func CopyPropertiesByJson ¶
CopyPropertiesByJson 结构体的属性赋值,将source赋值到target上 底层使用json的方式实现 注意: 1、target必须是结构体的指针,否则该方法不生效
2、两个结构体内的属性名称一样的才会赋值成功,否则名称不一样的不生效
func CopyStruct ¶
CopyStruct 结构体的属性赋值,将source赋值到泛型Struct的结构体上 底层使用结构体反射的方式实现 注意: 两个结构体内的属性名称一样的才会赋值成功,否则名称不一样的不生效
func FindFilesWithPrefix ¶
func FindFilesWithPrefix2 ¶
FindFilesWithPrefix2 查找给定目录下具有相同文件名前缀的所有文件
func GetAllFieldNames4CustomStrategy ¶
func GetAllFieldNames4CustomStrategy(structVal any, convertName func(fileName string) string, forceExcludeFields ...string) []string
GetAllFieldNames4CustomStrategy 获取结构体 “所有” 字段名列表, 可以指定忽略的字段,可以自定义字段名称转换方式 structVal - 结构体对象 convertName - 自定义字段名称转换函数 forceExcludeFields - 强制排除(忽略)的字段名称列表
func GetFieldNames4IncludeTypeAndCustomStrategy ¶
func GetFieldNames4IncludeTypeAndCustomStrategy(structVal any, fieldType FieldType, convertName func(fileName string) string, forceExcludeFields ...string) []string
GetFieldNames4IncludeTypeAndCustomStrategy 获取结构体字段名列表, 可以指定零值、非零值类型的字段,可以指定忽略的字段,可以自定义字段名称转换方式 structVal - 结构体对象 FieldType - 字段类型(所有、零值、非零值) convertName - 自定义字段名称转换函数 forceExcludeFields - 强制排除(忽略)的字段名称列表
func GetNotZeroFieldNames4CustomStrategy ¶
func GetNotZeroFieldNames4CustomStrategy(structVal any, convertName func(fileName string) string, forceExcludeFields ...string) []string
GetNotZeroFieldNames4CustomStrategy 获取结构体 “非零值” 字段名列表, 可以指定忽略的字段,可以自定义字段名称转换方式 structVal - 结构体对象 convertName - 自定义字段名称转换函数 forceExcludeFields - 强制排除(忽略)的字段名称列表
func GetZeroFieldNames ¶
GetZeroFieldNames 获取结构体零值字段名列表, 可以指定忽略的字段 structVal - 结构体对象 ignores - 忽略的字段名称列表
func GetZeroFieldNames4CustomStrategy ¶
func GetZeroFieldNames4CustomStrategy(structVal any, convertName func(fileName string) string, forceExcludeFields ...string) []string
GetZeroFieldNames4CustomStrategy 获取结构体 “零值” 字段名列表, 可以指定忽略的字段,可以自定义字段名称转换方式 structVal - 结构体对象 convertName - 自定义字段名称转换函数 forceExcludeFields - 强制排除(忽略)的字段名称列表
func GetZeroFieldNamesHump ¶
GetZeroFieldNamesHump 获取结构体零值字段名列表, 可以指定忽略的字段,并将字段名称转换为 “小驼峰” 命名方式 structVal - 结构体对象 ignores - 忽略的字段名称列表
func GetZeroFieldNamesSnake ¶
GetZeroFieldNamesSnake 获取结构体零值字段名列表, 可以指定忽略的字段,并将字段名称转换为 “小写下划线” 命名方式 structVal - 结构体对象 ignores - 忽略的字段名称列表
func Map2Bean ¶
func Map2Bean[T comparable](mapVal map[string]any) *T
Map2Bean map转结构体 通过json方式转换,底层会通过反射自动给结构体加上json的tag 返回的是该泛型结构体的指针
func ReflectConvert4Any ¶
ReflectConvert4Any 将any(接口)类型的val转化为rt类型的反射值rv 注意:返回的是rt的指针类型的reflect.Value
func ReflectConvert4Str ¶
ReflectConvert4Str 将string类型的val转化为rt类型的反射值rv 注意:返回的是rt的指针类型的reflect.Value
func Str2Float64 ¶
func Str2Uint64 ¶
func ToObj4Bytes ¶
ToObj4Bytes 字节数组转对象 通过obj的指针传回 所以obj必须为结构体的指针类型
func ToStruct4Bytes ¶
func ToStruct4Bytes[T comparable](bytes []byte) *T
ToStruct4Bytes 字节数组转对象(泛型) 返回泛型结构体指针