Documentation
¶
Overview ¶
Package xconv 提供任意类型之间的转换工具,支持数值、字符串、布尔、 字节、符文、时长、存储容量等类型的互转及切片/指针形式转换
Index ¶
- func Anys(val any) []any
- func AnysPointer(val any) *[]any
- func B(val any) float64
- func Bool(val any) bool
- func BoolPointer(any any) *bool
- func Bools(val any) (slice []bool)
- func BoolsPointer(any any) *[]bool
- func Bs(val any) (slice []float64)
- func Byte(val any) byte
- func BytePointer(any any) *byte
- func Bytes(val any) []byte
- func BytesPointer(any any) *[]byte
- func BytesToString(b []byte) string
- func Duration(val any) time.Duration
- func DurationPointer(any any) *time.Duration
- func Durations(val any) (slice []time.Duration)
- func DurationsPointer(any any) *[]time.Duration
- func Float32(val any) float32
- func Float32Pointer(any any) *float32
- func Float32s(val any) (slice []float32)
- func Float32sPointer(any any) *[]float32
- func Float64(val any) float64
- func Float64Pointer(any any) *float64
- func Float64s(val any) (slice []float64)
- func Float64sPointer(any any) *[]float64
- func GenericNumbers[T any](val any) (slice []T)
- func Int(val any) int
- func Int8(val any) int8
- func Int8Pointer(any any) *int8
- func Int8s(val any) (slice []int8)
- func Int8sPointer(any any) *[]int8
- func Int16(val any) int16
- func Int16Pointer(any any) *int16
- func Int16s(val any) (slice []int16)
- func Int16sPointer(any any) *[]int16
- func Int32(val any) int32
- func Int32Pointer(val any) *int32
- func Int32s(val any) (slice []int32)
- func Int32sPointer(val any) *[]int32
- func Int64(val any) int64
- func Int64Pointer(any any) *int64
- func Int64s(val any) (slice []int64)
- func Int64sPointer(any any) *[]int64
- func IntPointer(any any) *int
- func Ints(val any) (slice []int)
- func IntsPointer(any any) *[]int
- func Json(val any) string
- func Rune(val any) rune
- func RunePointer(val any) *int32
- func Runes(val any) []rune
- func RunesPointer(val any) *[]int32
- func String(val any) string
- func StringPointer(val any) *string
- func StringToBytes(s string) (b []byte)
- func Strings(val any) (slice []string)
- func StringsPointer(val any) *[]string
- func Uint(val any) uint
- func Uint8(val any) uint8
- func Uint8Pointer(val any) *uint8
- func Uint8s(val any) (slice []uint8)
- func Uint8sPointer(val any) *[]uint8
- func Uint16(val any) uint16
- func Uint16Pointer(val any) *uint16
- func Uint16s(val any) (slice []uint16)
- func Uint16sPointer(val any) *[]uint16
- func Uint32(val any) uint32
- func Uint32Pointer(val any) *uint32
- func Uint32s(val any) (slice []uint32)
- func Uint32sPointer(val any) *[]uint32
- func Uint64(val any) uint64
- func Uint64Pointer(val any) *uint64
- func Uint64s(val any) (slice []uint64)
- func Uint64sPointer(val any) *[]uint64
- func UintPointer(val any) *uint
- func Uints(val any) (slice []uint)
- func UintsPointer(val any) *[]uint
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Anys ¶ added in v2.1.0
Anys 将任意值转换为 any 切片 仅支持切片或数组类型,其他类型返回 nil @param val any 待转换的值 @return @1 []any 转换后的 any 切片
func AnysPointer ¶ added in v2.3.0
AnysPointer 将任意值转换为 any 切片指针 @param val any 待转换的值 @return @1 *[]any 转换后的 any 切片指针
func B ¶ added in v2.2.7
B 将任意值转换为存储容量字节数(float64) 数值类型直接返回;字符串支持 "10KB"、"5M" 等容量单位(不区分大小写); 无法转换时返回 0 @param val any 待转换的值 @return @1 float64 转换后的字节数
func Bool ¶
Bool 将任意值转换为布尔值 数值类型非零为 true;字符串非空、非"0"、非"false"(不区分大小写)为 true; 零值时间返回 false;切片/映射非 nil 且非空为 true;其他类型按反射结果判定 @param val any 待转换的值 @return @1 bool 转换后的布尔值
func BoolPointer ¶
BoolPointer 将任意值转换为布尔指针 @param val any 待转换的值 @return @1 *bool 转换后的布尔指针
func BoolsPointer ¶
BoolsPointer 将任意值转换为布尔切片指针 @param val any 待转换的值 @return @1 *[]bool 转换后的布尔切片指针
func Bs ¶ added in v2.2.7
Bs 将任意值转换为存储容量字节数切片(float64 切片) @param val any 待转换的值 @return @1 []float64 转换后的字节数切片
func BytePointer ¶
BytePointer 将任意值转换为字节指针 @param val any 待转换的值 @return @1 *byte 转换后的字节指针
func Bytes ¶
Bytes 将任意值转换为字节切片 基础数值类型按大端序编码(int 编码为8字节、uint 编码为8字节、其他按自身位宽编码), 字符串无拷贝转换,[]byte 直接返回,其他类型优先 JSON 序列化;无法转换时返回 nil @param val any 待转换的值 @return @1 []byte 转换后的字节切片
func BytesPointer ¶
BytesPointer 将任意值转换为字节切片指针 @param val any 待转换的值 @return @1 *[]byte 转换后的字节切片指针
func BytesToString ¶
BytesToString 字节切片无拷贝转字符串 转换后的字符串与字节切片共享底层内存,请勿修改原字节切片 @param b []byte 待转换的字节切片 @return @1 string 转换后的字符串
func Duration ¶
Duration 将任意值转换为时间间隔 数值类型直接按纳秒换算;字符串支持 "ns"、"us"(或 "µs")、"ms"、"s"、"m"、"h"、"d"(天) 等时间单位,其中 "d" 天会被替换为对应的纳秒数后解析 @param val any 待转换的值 @return @1 time.Duration 转换后的时间间隔
func DurationPointer ¶
DurationPointer 将任意值转换为时间间隔指针 @param val any 待转换的值 @return @1 *time.Duration 转换后的时间间隔指针
func DurationsPointer ¶
DurationsPointer 将任意值转换为时间间隔切片指针 @param val any 待转换的值 @return @1 *[]time.Duration 转换后的时间间隔切片指针
func Float32Pointer ¶
Float32Pointer 将任意值转换为 float32 指针 @param val any 待转换的值 @return @1 *float32 转换后的 float32 指针
func Float32s ¶
Float32s 将任意值转换为 float32 切片 @param val any 待转换的值 @return @1 []float32 转换后的 float32 切片
func Float32sPointer ¶
Float32sPointer 将任意值转换为 float32 切片指针 @param val any 待转换的值 @return @1 *[]float32 转换后的 float32 切片指针
func Float64 ¶
Float64 将任意值转换为 float64 支持所有基础数值类型(复数取实部)、bool、time.Time(Unix纳秒)及 通过反射处理的字符串等类型;无法转换时返回 0 @param val any 待转换的值 @return @1 float64 转换后的 float64
func Float64Pointer ¶
Float64Pointer 将任意值转换为 float64 指针 @param val any 待转换的值 @return @1 *float64 转换后的 float64 指针
func Float64s ¶
Float64s 将任意值转换为 float64 切片 @param val any 待转换的值 @return @1 []float64 转换后的 float64 切片
func Float64sPointer ¶
Float64sPointer 将任意值转换为 float64 切片指针 @param val any 待转换的值 @return @1 *[]float64 转换后的 float64 切片指针
func GenericNumbers ¶ added in v2.5.3
GenericNumbers 将任意数值类型的切片/数组转换为指定泛型类型的数值切片 逐元素直接转换,目标类型支持整数、无符号整数、浮点数及基于它们的自定义类型, 不会经过 JSON 序列化,可避免大整数精度丢失;元素无法转换时转为零值 @param val any 待转换的切片或数组 @return @1 []T 转换后的数值切片
func Int8Pointer ¶
Int8Pointer 将任意值转换为 int8 指针 @param val any 待转换的值 @return @1 *int8 转换后的 int8 指针
func Int8sPointer ¶
Int8sPointer 将任意值转换为 int8 切片指针 @param val any 待转换的值 @return @1 *[]int8 转换后的 int8 切片指针
func Int16Pointer ¶
Int16Pointer 将任意值转换为 int16 指针 @param val any 待转换的值 @return @1 *int16 转换后的 int16 指针
func Int16sPointer ¶
Int16sPointer 将任意值转换为 int16 切片指针 @param val any 待转换的值 @return @1 *[]int16 转换后的 int16 切片指针
func Int32Pointer ¶
Int32Pointer 将任意值转换为 int32 指针 @param val any 待转换的值 @return @1 *int32 转换后的 int32 指针
func Int32sPointer ¶
Int32sPointer 将任意值转换为 int32 切片指针 @param val any 待转换的值 @return @1 *[]int32 转换后的 int32 切片指针
func Int64 ¶
Int64 将任意值转换为 int64 支持所有基础数值类型、bool、time.Time、[]byte(按大端序解析为64位整数,长度不超过8)及 通过反射处理的字符串等类型;无法转换时返回 0 @param val any 待转换的值 @return @1 int64 转换后的 int64
func Int64Pointer ¶
Int64Pointer 将任意值转换为 int64 指针 @param val any 待转换的值 @return @1 *int64 转换后的 int64 指针
func Int64sPointer ¶
Int64sPointer 将任意值转换为 int64 切片指针 @param val any 待转换的值 @return @1 *[]int64 转换后的 int64 切片指针
func IntPointer ¶
IntPointer 将任意值转换为 int 指针 @param val any 待转换的值 @return @1 *int 转换后的 int 指针
func IntsPointer ¶
IntsPointer 将任意值转换为 int 切片指针 @param val any 待转换的值 @return @1 *[]int 转换后的 int 切片指针
func Json ¶
Json 将任意值转换为 JSON 字符串 对已满足 JSON 格式(以 { } 或 [ ] 包裹)的字符串/字节切片直接返回; 对 map、数组、切片、结构体等类型进行 JSON 序列化;其他类型返回空字符串 @param val any 待转换的值 @return @1 string 转换后的 JSON 字符串
func RunePointer ¶ added in v2.3.0
RunePointer 将任意值转换为符文指针 @param val any 待转换的值 @return @1 *int32 转换后的符文指针
func Runes ¶ added in v2.3.0
Runes 将任意值转换为符文切片(等价于 Int32s) @param val any 待转换的值 @return @1 []rune 转换后的符文切片
func RunesPointer ¶ added in v2.3.0
RunesPointer 将任意值转换为符文切片指针 @param val any 待转换的值 @return @1 *[]int32 转换后的符文切片指针
func String ¶
String 将任意值转换为字符串 数值类型使用十进制格式化,float32/float64 按最短表示格式化,bool 转为 true/false, []byte 无拷贝转字符串,time.Time 零值返回空串,其他类型优先 JSON 序列化 @param val any 待转换的值 @return @1 string 转换后的字符串
func StringPointer ¶
StringPointer 将任意值转换为字符串指针 @param val any 待转换的值 @return @1 *string 转换后的字符串指针
func StringToBytes ¶
StringToBytes 字符串无拷贝转字节切片 转换后的字节切片与字符串共享底层内存,修改字节会改变原字符串,请勿修改 @param s string 待转换的字符串 @return @1 []byte 转换后的字节切片
func StringsPointer ¶
StringsPointer 将任意值转换为字符串切片指针 @param val any 待转换的值 @return @1 *[]string 转换后的字符串切片指针
func Uint8Pointer ¶
Uint8Pointer 将任意值转换为 uint8 指针 @param val any 待转换的值 @return @1 *uint8 转换后的 uint8 指针
func Uint8sPointer ¶
Uint8sPointer 将任意值转换为 uint8 切片指针 @param val any 待转换的值 @return @1 *[]uint8 转换后的 uint8 切片指针
func Uint16Pointer ¶
Uint16Pointer 将任意值转换为 uint16 指针 @param val any 待转换的值 @return @1 *uint16 转换后的 uint16 指针
func Uint16sPointer ¶
Uint16sPointer 将任意值转换为 uint16 切片指针 @param val any 待转换的值 @return @1 *[]uint16 转换后的 uint16 切片指针
func Uint32Pointer ¶
Uint32Pointer 将任意值转换为 uint32 指针 @param val any 待转换的值 @return @1 *uint32 转换后的 uint32 指针
func Uint32sPointer ¶
Uint32sPointer 将任意值转换为 uint32 切片指针 @param val any 待转换的值 @return @1 *[]uint32 转换后的 uint32 切片指针
func Uint64 ¶
Uint64 将任意值转换为 uint64 支持所有基础数值类型、bool、time.Time、[]byte(按大端序解析为64位整数,长度不超过8)及 通过反射处理的字符串等类型;无法转换时返回 0 @param val any 待转换的值 @return @1 uint64 转换后的 uint64
func Uint64Pointer ¶
Uint64Pointer 将任意值转换为 uint64 指针 @param val any 待转换的值 @return @1 *uint64 转换后的 uint64 指针
func Uint64sPointer ¶
Uint64sPointer 将任意值转换为 uint64 切片指针 @param val any 待转换的值 @return @1 *[]uint64 转换后的 uint64 切片指针
func UintPointer ¶
UintPointer 将任意值转换为 uint 指针 @param val any 待转换的值 @return @1 *uint 转换后的 uint 指针
func UintsPointer ¶
UintsPointer 将任意值转换为 uint 切片指针 @param val any 待转换的值 @return @1 *[]uint 转换后的 uint 切片指针
Types ¶
This section is empty.