Documentation
¶
Index ¶
- func BytesToDBC(s []byte) []byte
- func BytesToRunes(data []byte) []rune
- func BytesToSBC(s []byte) []byte
- func BytesToString(data []byte) string
- func CeilFloat32(number float32, prec int) float32
- func CeilFloat64(number float64, prec int) float64
- func FloorFloat32(number float32, prec int) float32
- func FloorFloat64(number float64, prec int) float64
- func ParseTimeAutoLayout(timeString string, defaultLocation *time.Location) (time.Time, error)
- func RoundFloat32(number float32, prec int) float32
- func RoundFloat64(number float64, prec int) float64
- func RunesToBytes(data []rune) []byte
- func RunesToString(data []rune) string
- func StringIsZeroNumber(s string) bool
- func StringParseFloatIsOutOfRange(v string, f float64, err error) bool
- func StringToBool(v string) bool
- func StringToBoolD(v string, defautVal bool) bool
- func StringToBoolE(v string) (bool, error)
- func StringToBytes(data string) []byte
- func StringToDBC(s string) string
- func StringToFloat32(v string) float32
- func StringToFloat32D(v string, defautVal float32) float32
- func StringToFloat32E(v string) (float32, error)
- func StringToFloat64(v string) float64
- func StringToFloat64D(v string, defautVal float64) float64
- func StringToFloat64E(v string) (float64, error)
- func StringToInt(v string) int
- func StringToInt8(v string) int8
- func StringToInt8D(v string, defautVal int8) int8
- func StringToInt8E(v string) (int8, error)
- func StringToInt16(v string) int16
- func StringToInt16D(v string, defautVal int16) int16
- func StringToInt16E(v string) (int16, error)
- func StringToInt32(v string) int32
- func StringToInt32D(v string, defautVal int32) int32
- func StringToInt32E(v string) (int32, error)
- func StringToInt64(v string) int64
- func StringToInt64D(v string, defautVal int64) int64
- func StringToInt64E(v string) (int64, error)
- func StringToIntD(v string, defautVal int) int
- func StringToIntE(v string) (int, error)
- func StringToRunes(str string) []rune
- func StringToSBC(s string) string
- func StringToTime(v string) time.Time
- func StringToTimeD(v string, defautVal time.Time) time.Time
- func StringToTimeDuration(v string) time.Duration
- func StringToTimeDurationD(v string, defautVal time.Duration) time.Duration
- func StringToTimeDurationE(v string) (toVal time.Duration, err error)
- func StringToTimeE(v string) (time.Time, error)
- func StringToTimeMonth(v string) time.Month
- func StringToTimeMonthD(v string, defautVal time.Month) time.Month
- func StringToTimeMonthE(v string) (toVal time.Month, err error)
- func StringToTimeWeekday(v string) time.Weekday
- func StringToTimeWeekdayD(v string, defautVal time.Weekday) time.Weekday
- func StringToTimeWeekdayE(v string) (toVal time.Weekday, err error)
- func StringToTimeWith(v string, location *time.Location) (time.Time, error)
- func StringToUint(v string) uint
- func StringToUint8(v string) uint8
- func StringToUint8D(v string, defautVal uint8) uint8
- func StringToUint8E(v string) (uint8, error)
- func StringToUint16(v string) uint16
- func StringToUint16D(v string, defautVal uint16) uint16
- func StringToUint16E(v string) (uint16, error)
- func StringToUint32(v string) uint32
- func StringToUint32D(v string, defautVal uint32) uint32
- func StringToUint32E(v string) (uint32, error)
- func StringToUint64(v string) uint64
- func StringToUint64D(v string, defautVal uint64) uint64
- func StringToUint64E(v string) (uint64, error)
- func StringToUintD(v string, defautVal uint) uint
- func StringToUintE(v string) (uint, error)
- func StringToUnix(v string) int64
- func StringToUnixD(v string, defautVal int64) int64
- func StringToUnixE(v string) (toVal int64, err error)
- func StringToUnixMilli(v string) int64
- func StringToUnixMilliD(v string, defautVal int64) int64
- func StringToUnixMilliE(v string) (toVal int64, err error)
- func StringToUnixMilliWith(v string, location *time.Location) (int64, error)
- func StringToUnixWith(v string, location *time.Location) (int64, error)
- func ToBase[T TypeBase](v any) T
- func ToBaseD[T TypeBase](v any, defaultVal T) T
- func ToBaseE[T TypeBase](v any) (toVal T, err error)
- func ToBool(v any) bool
- func ToBoolD(v any, defaultVal bool) bool
- func ToBoolE(v any) (bool, error)
- func ToFloat32(v any) float32
- func ToFloat32D(v any, defaultVal float32) float32
- func ToFloat32E(v any) (float32, error)
- func ToFloat64(v any) float64
- func ToFloat64D(v any, defaultVal float64) float64
- func ToFloat64E(v any) (float64, error)
- func ToInt(v any) int
- func ToInt8(v any) int8
- func ToInt8D(v any, defaultVal int8) int8
- func ToInt8E(v any) (int8, error)
- func ToInt16(v any) int16
- func ToInt16D(v any, defaultVal int16) int16
- func ToInt16E(v any) (int16, error)
- func ToInt32(v any) int32
- func ToInt32D(v any, defaultVal int32) int32
- func ToInt32E(v any) (int32, error)
- func ToInt64(v any) int64
- func ToInt64D(v any, defaultVal int64) int64
- func ToInt64E(v any) (int64, error)
- func ToIntD(v any, defaultVal int) int
- func ToIntE(v any) (int, error)
- func ToMapAny[K TypeBase](v any) map[K]any
- func ToMapAnyD[K TypeBase](v any, defaultVal map[K]any) map[K]any
- func ToMapAnyE[K TypeBase](v any) (map[K]any, error)
- func ToMapAs[K TypeBase, V TypeBase](v any) map[K]V
- func ToMapAsD[K TypeBase, V TypeBase](v any, defaultVal map[K]V) map[K]V
- func ToMapAsE[K TypeBase, V TypeBase](v any) (map[K]V, error)
- func ToMapSlice[K TypeBase, V TypeBase](v any) map[K][]V
- func ToMapSliceD[K TypeBase, V TypeBase](v any, defaultVal map[K][]V) map[K][]V
- func ToMapSliceE[K TypeBase, V TypeBase](v any) (map[K][]V, error)
- func ToSliceAny(v any) []any
- func ToSliceAnyD(v any, defaultVal []any) []any
- func ToSliceAnyE(v any) ([]any, error)
- func ToSliceAs[T TypeBase | TypeBaseSlice](v any) []T
- func ToSliceAsD[T TypeBase | TypeBaseSlice](v any, defaultVal []T) []T
- func ToSliceAsE[T TypeBase | TypeBaseSlice](v any) ([]T, error)
- func ToSliceMap[K TypeBase, V TypeBase](v any) []map[K]V
- func ToSliceMapD[K TypeBase, V TypeBase](v any, defaultVal []map[K]V) []map[K]V
- func ToSliceMapE[K TypeBase, V TypeBase](v any) ([]map[K]V, error)
- func ToString(v any) string
- func ToStringD(v any, defaultVal string) string
- func ToStringE(v any) (string, error)
- func ToTime(v any) time.Time
- func ToTimeD(v any, defaultVal time.Time) time.Time
- func ToTimeDuration(v any) time.Duration
- func ToTimeDurationD(v any, defaultVal time.Duration) time.Duration
- func ToTimeDurationE(v any) (time.Duration, error)
- func ToTimeE(v any) (time.Time, error)
- func ToTimeMonth(v any) (toVal time.Month)
- func ToTimeMonthD(v any, defaultVal time.Month) time.Month
- func ToTimeMonthE(v any) (toVal time.Month, err error)
- func ToTimeWeekday(v any) (toVal time.Weekday)
- func ToTimeWeekdayD(v any, defaultVal time.Weekday) time.Weekday
- func ToTimeWeekdayE(v any) (toVal time.Weekday, err error)
- func ToTimeWith(v any, location *time.Location) (time.Time, error)
- func ToUint(v any) uint
- func ToUint8(v any) uint8
- func ToUint8D(v any, defaultVal uint8) uint8
- func ToUint8E(v any) (uint8, error)
- func ToUint16(v any) uint16
- func ToUint16D(v any, defaultVal uint16) uint16
- func ToUint16E(v any) (uint16, error)
- func ToUint32(v any) uint32
- func ToUint32D(v any, defaultVal uint32) uint32
- func ToUint32E(v any) (uint32, error)
- func ToUint64(v any) uint64
- func ToUint64D(v any, defaultVal uint64) uint64
- func ToUint64E(v any) (uint64, error)
- func ToUintD(v any, defaultVal uint) uint
- func ToUintE(v any) (uint, error)
- func ToUnix(s any) int64
- func ToUnixD(s any, defaultVal int64) int64
- func ToUnixMilli(s any) int64
- func ToUnixMilliD(s any, defaultVal int64) int64
- func ToUnixMilliWith(s any, location *time.Location) (int64, error)
- func ToUnixWith(s any, location *time.Location) (int64, error)
- func UnderefVal(v any) any
- type TypeBase
- type TypeBaseSlice
- type TypeFloat
- type TypeInt
- type TypeMapBaseAny
- type TypeMapBaseAs
- type TypeMapComparableAny
- type TypeNumber
- type TypeSliceAny
- type TypeSliceBase
- type TypeTime
- type TypeUint
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CeilFloat64 ¶
CeilFloat64 向上取整保留指定小数位数(不四舍五入)
func FloorFloat64 ¶
FloorFloat64 向下取整保留指定小数位数(不四舍五入)
func ParseTimeAutoLayout ¶ added in v1.0.1
ParseTimeAutoLayout 将时间字符串格式化为time.Time, 转换失败则返回空Time对象和错误信息
func StringIsZeroNumber ¶
StringIsZeroNumber 检测给定的数字字符串是否能表示 0
func StringParseFloatIsOutOfRange ¶
StringParseFloatIsOutOfRange 判断 strconv.ParseFloat() 转换的结果是否正常
- 参数 v: 待转换的字符串
- 参数 f,err: ParseFloat(v)转换的结果
- ParseFloat处理浮点数时,如果浮点数极小或极大(远远小于或大于极值), 在多个Golang版本ParseFloat数据溢出后, 为返回错误信息
- ParseFloat("4.9406564584124654417656879286822137236505980e-324",32) => 0 <nil>
- ParseFloat("4.9406564584124654417656879286822137236505980e-330",64) => 0 <nil>
func StringToBoolD ¶
StringToUint64D string 转为 bool , 如果转换失败, 则返回指定默认值
func StringToBoolE ¶
StringToUint64E string 转为 uint64 , 如果转换失败, 则返回零值和错误信息
func StringToBytes ¶
StringToBytes 字符串转Bytes切片
- 在go版本<1.20中, 通过unsafe包和reflect包实现,其主要原理是拿到底层数组的指针,然后转换成[]byte或string。
- 在go版本>=1.20中 由于安全性问题reflect包中的StringHeader和SliceHeader已被标注为deprecated,建议使用unsafe包来实现转换。
- Use unsafe.String or unsafe.StringData instead.
- Use unsafe.Slice or unsafe.SliceData instead.
func StringToFloat32 ¶
StringToFloat32 string 转为 float32 , 如果转换失败, 则返回零值
func StringToFloat32D ¶
StringToFloat32D string 转为 float32 , 如果转换失败, 则返回指定默认值
func StringToFloat32E ¶
StringToFloat32E string 转为 float32 , 如果转换失败, 则返回零值和错误信息
func StringToFloat64 ¶
StringToFloat64 string 转为 float64 , 如果转换失败, 则返回零值
func StringToFloat64D ¶
StringToFloat64D string 转为 float64 , 如果转换失败, 则返回指定默认值
func StringToFloat64E ¶
StringToFloat64E string 转为 float64 , 如果转换失败, 则返回零值和错误信息
func StringToInt8D ¶
StringToInt8D string 转为 int8 , 如果转换失败, 则返回指定默认值
func StringToInt8E ¶
StringToInt8E string 转为 int8 , 如果转换失败, 则返回零值和错误信息
func StringToInt16 ¶
StringToInt16 string 转为 int16 , 如果转换失败, 则返回零值
func StringToInt16D ¶
StringToInt16D string 转为 int16 , 如果转换失败, 则返回指定默认值
func StringToInt16E ¶
StringToInt16E string 转为 int16 , 如果转换失败, 则返回零值和错误信息
func StringToInt32 ¶
StringToInt32 string 转为 int32 , 如果转换失败, 则返回零值
func StringToInt32D ¶
StringToInt32D string 转为 int32 , 如果转换失败, 则返回指定默认值
func StringToInt32E ¶
StringToInt32E string 转为 int32 , 如果转换失败, 则返回零值和错误信息
func StringToInt64 ¶
StringToInt64 string 转为 int64 , 如果转换失败, 则返回零值
func StringToInt64D ¶
StringToInt64D string 转为 int64 , 如果转换失败, 则返回指定默认值
func StringToInt64E ¶
StringToInt64E string 转为 int64 , 如果转换失败, 则返回零值和错误信息
func StringToIntD ¶
StringToIntD string 转为 int , 如果转换失败, 则返回指定默认值
func StringToIntE ¶
StringToIntE string 转为 int , 如果转换失败, 则返回零值和错误信息
func StringToTime ¶
StringToTime string 转为 time.Time, 如果转换失败, 则返回零值
- 如待转换字符串未包含时区信息时, 则使用 Server/Local 时区
func StringToTimeD ¶
StringToTimeD string 转为 time.Time, 如果转换失败, 则返回指定默认值
- 如待转换字符串未包含时区信息时, 则使用 Server/Local 时区
func StringToTimeDuration ¶
StringToTimeDuration string 转为 time.Duration , 如果转换失败, 则返回零值
- 需要转换的 string 为一个数字,则当做纳秒时间处理
func StringToTimeDurationD ¶
StringToTimeDurationD string 转为 time.Duration , 如果转换失败, 则返回指定默认值
- 需要转换的 string 为一个数字,则当做纳秒时间处理
func StringToTimeDurationE ¶
StringToTimeDurationE string 转为 time.Duration , 如果转换失败, 则返回零值和错误信息
- 需要转换的 string 为一个数字,则当做纳秒时间处理
func StringToTimeE ¶
StringToTimeE string 转为 time.Time, 如果转换失败, 则返回零值和错误信息
- 如待转换字符串未包含时区信息时, 则使用 Server/Local 时区
func StringToTimeMonth ¶
StringToTimeMonth string 转为 time.Month , 如果转换失败, 则返回零值
func StringToTimeMonthD ¶
StringToTimeMonthD string 转为 time.Month , 如果转换失败, 则返回指定默认值
func StringToTimeMonthE ¶
StringToTimeMonthE string 转为 time.Month , 如果转换失败, 则返回零值和错误信息
func StringToTimeWeekday ¶
StringToTimeWeekday string 转为 time.Weekday , 如果转换失败, 则返回零值
func StringToTimeWeekdayD ¶
StringToTimeWeekdayD string 转为 time.Weekday , 如果转换失败, 则返回指定默认值
func StringToTimeWeekdayE ¶
StringToTimeWeekdayE string 转为 time.Weekday , 如果转换失败, 则返回零值和错误信息
func StringToTimeWith ¶
StringToTimeWith string 转为指定的时区的 time.Time(指定时区), 如果转换失败, 则返回零值和错误信息
- 如待转换字符串未包含时区信息时, 则使用 location 时区
func StringToUint8 ¶
StringToUint8 string 转为 uint8 , 如果转换失败, 则返回零值
func StringToUint8D ¶
StringToUint8D string 转为 uint8 , 如果转换失败, 则返回指定默认值
func StringToUint8E ¶
StringToUint8E string 转为 uint8 , 如果转换失败, 则返回零值和错误信息
func StringToUint16 ¶
StringToUint16 string 转为 uint16 , 如果转换失败, 则返回零值
func StringToUint16D ¶
StringToUint16D string 转为 uint16 , 如果转换失败, 则返回指定默认值
func StringToUint16E ¶
StringToUint16E string 转为 uint16 , 如果转换失败, 则返回零值和错误信息
func StringToUint32 ¶
StringToUint32 string 转为 uint32 , 如果转换失败, 则返回零值
func StringToUint32D ¶
StringToUint32D string 转为 uint32 , 如果转换失败, 则返回指定默认值
func StringToUint32E ¶
StringToUint32E string 转为 uint32 , 如果转换失败, 则返回零值和错误信息
func StringToUint64 ¶
StringToUint64 string 转为 uint64 , 如果转换失败, 则返回零值
func StringToUint64D ¶
StringToUint64D string 转为 uint64 , 如果转换失败, 则返回指定默认值
func StringToUint64E ¶
StringToUint64E string 转为 uint64 , 如果转换失败, 则返回零值和错误信息
func StringToUintD ¶
StringToUintD string 转为 uint , 如果转换失败, 则返回指定默认值
func StringToUintE ¶
StringToUintE string 转为 uint , 如果转换失败, 则返回零值和错误信息
func StringToUnix ¶
StringToUnix string 转为 Unix时间戳(秒), 如果转换失败, 则返回零值
- 如待转换的 string 为一个数字,则直接当做Unix时间戳(秒)处理
- 如待转换的 string 为为不含有时区的日期时间字符串,则使用 Server/Local 时区
func StringToUnixD ¶
StringToUnixD string 转为 Unix时间戳(秒) , 如果转换失败, 则返回指定默认值
- 如待转换的 string 为一个数字,则直接当做Unix时间戳(秒)处理
- 如待转换的 string 为为不含有时区的日期时间字符串,则使用 Server/Local 时区
func StringToUnixE ¶
StringToUnixE string 转为 Unix时间戳(秒) , 如果转换失败, 则返回零值和错误信息
- 如待转换的 string 为一个数字,则直接当做Unix时间戳(秒)处理
- 如待转换的 string 为不含有时区的日期时间字符串,则使用 Server/Local 时区
func StringToUnixMilli ¶
StringToUnixMilli string 转为 Unix时间戳(毫秒), 如果转换失败, 则返回零值
- 如待转换的 string 为一个数字,则直接当做Unix时间戳(毫秒)处理
- 如待转换的 string 为为不含有时区的日期时间字符串,则使用 Server/Local 时区
func StringToUnixMilliD ¶
StringToUnixMilliD string 转为 Unix时间戳(毫秒) , 如果转换失败, 则返回指定默认值
- 如待转换的 string 为一个数字,则直接当做Unix时间戳(毫秒)处理
- 如待转换的 string 为为不含有时区的日期时间字符串,则使用 Server/Local 时区
func StringToUnixMilliE ¶
StringToUnixMilliE string 转为 Unix时间戳(毫秒) , 如果转换失败, 则返回零值和错误信息
- 如待转换的 string 为一个数字,则直接当做Unix时间戳(毫秒)处理
- 如待转换的 string 为为不含有时区的日期时间字符串,则使用 Server/Local 时区
func StringToUnixMilliWith ¶
StringToUnixMilliWith string 转为 Unix时间戳(毫秒), 转换失败则返回0值和错误信息
- 如待转换的 string 为一个数字,则直接当做Unix时间戳(毫秒)处理
- 如待转换的 string 为为不含有时区的日期时间字符串,则使用location指定的时区
func ToBase ¶
ToBase 转换 any 目标为 TypeBase 泛型T, 如果转换失败, 则返回T零值
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration | time.Month | time.Weekday
- 注意: 处理time.Time | time.Duration 类型时, 如待转换的any目标是日期时间字符串且未包含时区信息时则使用UTC时区
func ToBaseD ¶
ToBase 转换 any 目标为 TypeBase 泛型T, 如果转换失败, 则返回defaultVal指定的默认值
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration | time.Month | time.Weekday
- 注意: 处理time.Time | time.Duration 类型时, 如待转换的any目标是日期时间字符串且未包含时区信息时则使用UTC时区
func ToBaseE ¶
ToBaseE 转换 any 目标为 TypeBase 泛型T, 如果转换失败, 则返回T零值和错误信息
- TypeBase: string | bool |int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration | time.Month | time.Weekday
- 注意: 处理time.Time | time.Duration 类型时, 如待转换的any目标是日期时间字符串且未包含时区信息时则使用UTC时区
func ToFloat32D ¶
ToFloat32D 转换目标为 Float32, 如果转换失败, 则返回defaultVal指定的默认值
func ToFloat64D ¶
ToFloat64D 转换目标为 Float64, 如果转换失败, 则返回defaultVal指定的默认值
func ToFloat64E ¶
ToFloat64E 转换目标为 Float64, 如果转换失败, 则返回0和错误信息
func ToMapAny ¶
ToMapAny 转换目标为 map[K]any , 如果转换失败, 则返回空的map
- 通过断言快速处理基本切片 map[TypeBase]any
- 其他类型Map尝试反射检查后处理
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration| time.Month | time.Weekday
func ToMapAnyD ¶
ToMapAnyD 转换目标为 map[K]any , 如果转换失败, 则返回defaultVal指定的map
- 通过断言快速处理基本切片 map[TypeBase]any
- 其他类型Map尝试反射检查后处理
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration| time.Month | time.Weekday
func ToMapAnyE ¶
ToMapAnyE 转换目标为 map[K]any, 如果转换失败, 则返回空的map和错误信息
- 通过断言快速处理基本TypeBase类型切片 map[TypeBase]TypeBase
- 其他类型Map尝试反射检查后处理
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration| time.Month | time.Weekday
func ToMapAs ¶
ToMapAs 转换目标为 map[K]V, 如果转换失败, 则返回空的 map[K]V
- K: map key 的类型 TypeBase
- V: map val 的类型 TypeBase
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration| time.Month | time.Weekday
func ToMapAsD ¶
ToMapAsD 转换目标为 map[K]V, 如果转换失败, 则返回defaultVal指定的map
- K: map key 的类型 TypeBase
- V: map val 的类型 TypeBase
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration | time.Month | time.Weekday
func ToMapAsE ¶
ToMapAsE 转换目标为 map[K]V, 如果转换失败, 则返回空的 map[K]V 和错误信息
- K: map key 的类型 TypeBase
- V: map val 的类型 TypeBase
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration | time.Month | time.Weekday
func ToMapSlice ¶
ToMapSlice 转换目标为 map[K][]V, 如果转换失败, 则返回空的 map[K][]V
- K: map key 的类型 TypeBase
- V: map val 的类型 []TypeBase
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration | time.Month | time.Weekday
func ToMapSliceD ¶
ToMapSliceD 转换目标为 map[K][]V, 如果转换失败, 则返回defaultVal指定的map
- K: map key 的类型 TypeBase
- V: map val 的类型 []TypeBase
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration | time.Month | time.Weekday
func ToMapSliceE ¶
ToMapSliceE 转换目标为 map[K][]V, 如果转换失败, 则返回空的 map[K][]V 和错误信息
- K: map key 的类型 TypeBase
- V: map val 的类型 []TypeBase
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration | time.Month | time.Weekday
func ToSliceAnyD ¶
ToSliceAnyD 转换any目标为 []any 切片, 如果转换失败, 则返回defaultVal指定的默认值
func ToSliceAnyE ¶
ToSliceAnyE 转换any目标为 []any 切片, 如果转换失败, 则返回空的 []any 切片和错误信息
func ToSliceAs ¶
func ToSliceAs[T TypeBase | TypeBaseSlice](v any) []T
ToSliceAs 转换目标为任意类型的 []TypeBase 和 [][]TypeBase 切片, 如果转换失败, 则返回空的 []T 切片
- 通过断言快速处理基本的[]TypeBase 和 [][]TypeBase切片, 其他类型切片尝试反射检查后处理
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration | time.Month | time.Weekday
func ToSliceAsD ¶
func ToSliceAsD[T TypeBase | TypeBaseSlice](v any, defaultVal []T) []T
ToSliceAsD 转换目标为任意类型的 []TypeBase 和 [][]TypeBase 切片, 如果转换失败, 则返回defaultVal指定的默认值
- 通过断言快速处理基本的[]TypeBase 和 [][]TypeBase切片, 其他类型切片尝试反射检查后处理
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration | time.Month | time.Weekday
func ToSliceAsE ¶
func ToSliceAsE[T TypeBase | TypeBaseSlice](v any) ([]T, error)
ToSliceAsE 转换目标为任意类型的 []TypeBase 和 [][]TypeBase 切片, 如果转换失败, 则返回空的 []T 切片和错误信息
- 通过断言快速处理基本的[]TypeBase 和 [][]TypeBase切片, 其他类型切片尝试反射检查后处理
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration | time.Month | time.Weekday
func ToSliceMap ¶
ToSliceMap 转换目标为任意类型的 []map[K]V 切片, 如果转换失败, 则返回空的 []map[K]V 切片
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration | time.Month | time.Weekday
- 转换时切片中的map元素如为nil将会忽略(跳过)
func ToSliceMapD ¶
ToSliceMapD 转换目标为任意类型的 []map[K]V 切片, 如果转换失败, 则返回defaultVal指定的默认值
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration | time.Month | time.Weekday
- 转换时切片中的map元素如为nil将会忽略(跳过)
func ToSliceMapE ¶
ToSliceMapE 转换目标为任意类型的 []map[K]V 切片, 如果转换失败, 则返回空的 []map[K]V 切片和错误信息
- TypeBase: string | bool | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | time.Time | time.Duration | time.Month | time.Weekday
- 转换时切片中的map元素如为nil将会忽略(跳过)
func ToTime ¶
ToTime 转换目标为time.Time, 转换失败则返回空Time对象
- 如待转换目标是数值(当做Unix秒级时间戳), 则使用 Server/Local 时区
- 如待转换目标是字符串(日期时间)未包含时区信息时, 则使用 Server/Local 时区
func ToTimeD ¶
ToTimeD 转换目标为time.Time, 转换失败则返回defaultVal指定的Time对象
- 如待转换目标是数值(当做Unix秒级时间戳), 则使用 Server/Local 时区
- 如待转换目标是字符串(日期时间)未包含时区信息时, 则使用 Server/Local 时区
func ToTimeDuration ¶
ToTimeDuration 转换目标为time.Duration, 转换失败则返回零值的Duration
func ToTimeDurationD ¶
ToTimeDurationD 转换目标为time.Duration, 转换失败则返回defaultVal指定的Duration对象
func ToTimeDurationE ¶
ToTimeDuration 转换目标为time.Duration, 转换失败则返回零值的Duration和错误信息
func ToTimeE ¶
ToTimeE 转换目标为time.Time, 转换失败则返回空Time对象和错误信息
- 如待转换目标是数值(当做Unix秒级时间戳), 则使用 Server/Local 时区
- 如待转换目标是字符串(日期时间)未包含时区信息时, 则使用 Server/Local 时区
func ToTimeMonth ¶
ToTimeMonth 转换目标为time.Month, 转换失败则返回零值的Month
func ToTimeMonthD ¶
ToTimeMonthD 转换目标为time.Month, 转换失败则返回defaultVal指定的Month对象
func ToTimeMonthE ¶
ToTimeMonthE 转换目标为time.Month, 转换失败则返回零值的Month和错误信息
func ToTimeWeekday ¶
ToTimeWeekday 转换目标为time.Weekday, 转换失败则返回零值的Weekday
func ToTimeWeekdayD ¶
ToTimeMonthD 转换目标为time.Weekday, 转换失败则返回defaultVal指定的Weekday对象
func ToTimeWeekdayE ¶
ToTimeWeekdayE 转换目标为time.Weekday, 转换失败则返回零值的Weekday和错误信息
func ToTimeWith ¶
ToTimeWith 转换目标为指定的时区的time.Time(指定时区), 转换失败则返回空Time对象和错误信息
- 如待转换目标是数值(当做Unix秒级时间戳), 则使用 location 指定的时区
- 如待转换目标是字符串(日期时间)未包含时区信息时, 则使用 location 指定的时区
func ToUnix ¶
ToUnix 转换为Unix时间戳(秒), 如果转换失败, 则返回0值
- 如待转换目标是数值(当做Unix秒级时间戳), 如符合条件( >= 0 && <= MaxInt64 )条件将直接返回
- 如待转换目标是字符串(日期时间)未包含时区信息时, 则使用 Server/Local 时区
func ToUnixD ¶
ToUnixD 转换为Unix时间戳(秒), 如果转换失败, 则返回defaultVal指定的默认值
- 如待转换目标是数值(当做Unix秒级时间戳), 如符合条件( >= 0 && <= MaxInt64 )条件将直接返回
- 如待转换目标是字符串(日期时间)未包含时区信息时, 则使用 Server/Local 时区
func ToUnixMilli ¶
ToUnixMilli 转换为Unix时间戳(毫秒), 如果转换失败, 则返回0值
- 如待转换目标是数值(当做Unix毫秒级时间戳), 如符合条件( >= 0 && <= MaxInt64 )条件将直接返回
- 如待转换目标是字符串(日期时间)未包含时区信息时, 则使用则使用 Server/Local 时区
func ToUnixMilliD ¶
ToUnixMilliD 转换为Unix时间戳(毫秒), 如果转换失败, 则返回defaultVal指定的默认值
- 如待转换目标是数值(当做Unix毫秒级时间戳), 如符合条件( >= 0 && <= MaxInt64 )条件将直接返回
- 如待转换目标是字符串(日期时间)未包含时区信息时, 则使用则使用 Server/Local 时区
func ToUnixMilliWith ¶
ToUnixMilliWith 转换any目标为Unix时间戳(毫秒), 转换失败则返回0值和错误信息
- 如待转换目标是数值(当做Unix毫秒级时间戳), 如符合条件( >= 0 && <= MaxInt64 )条件将直接返回
- 如待转换目标是字符串(日期时间)未包含时区信息时, 则使用则使用location指定的时区
func ToUnixWith ¶
ToUnixWith 转换any目标为Unix时间戳(秒), 转换失败则返回0值和错误信息
- 如待转换目标是数值(当做Unix秒级时间戳), 如符合条件( >= 0 && <= MaxInt64 )条件将直接返回
- 如待转换目标是字符串(日期时间)未包含时区信息时, 则使用则使用location指定的时区
func UnderefVal ¶
UnderefVal 探测 any 目标, 将指针类型脱敏为原始标量类型
- 如果目标是nil, 则返回nil
- 如果目标非指针, 则返回原值
- 如果目标含有方法, 则返回原值
- 如果目标是nil指针, 则返回nil
- 如果目标是非nil指针, 则返回指针指向的指向的值(any类型的原始标量)
Types ¶
type TypeBaseSlice ¶
type TypeMapBaseAny ¶ added in v1.0.4
type TypeMapBaseAs ¶ added in v1.0.4
type TypeMapComparableAny ¶ added in v1.0.4
type TypeMapComparableAny[K comparable] map[K]any
type TypeNumber ¶
type TypeSliceAny ¶
type TypeSliceAny []any
type TypeSliceBase ¶
type TypeSliceBase[T TypeBase] []T