xconv

package
v2.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2026 License: MIT Imports: 11 Imported by: 13

Documentation

Overview

Package xconv 提供任意类型之间的转换工具,支持数值、字符串、布尔、 字节、符文、时长、存储容量等类型的互转及切片/指针形式转换

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Anys added in v2.1.0

func Anys(val any) []any

Anys 将任意值转换为 any 切片 仅支持切片或数组类型,其他类型返回 nil @param val any 待转换的值 @return @1 []any 转换后的 any 切片

func AnysPointer added in v2.3.0

func AnysPointer(val any) *[]any

AnysPointer 将任意值转换为 any 切片指针 @param val any 待转换的值 @return @1 *[]any 转换后的 any 切片指针

func B added in v2.2.7

func B(val any) float64

B 将任意值转换为存储容量字节数(float64) 数值类型直接返回;字符串支持 "10KB"、"5M" 等容量单位(不区分大小写); 无法转换时返回 0 @param val any 待转换的值 @return @1 float64 转换后的字节数

func Bool

func Bool(val any) bool

Bool 将任意值转换为布尔值 数值类型非零为 true;字符串非空、非"0"、非"false"(不区分大小写)为 true; 零值时间返回 false;切片/映射非 nil 且非空为 true;其他类型按反射结果判定 @param val any 待转换的值 @return @1 bool 转换后的布尔值

func BoolPointer

func BoolPointer(any any) *bool

BoolPointer 将任意值转换为布尔指针 @param val any 待转换的值 @return @1 *bool 转换后的布尔指针

func Bools

func Bools(val any) (slice []bool)

Bools 将任意值转换为布尔切片 @param val any 待转换的值 @return @1 []bool 转换后的布尔切片

func BoolsPointer

func BoolsPointer(any any) *[]bool

BoolsPointer 将任意值转换为布尔切片指针 @param val any 待转换的值 @return @1 *[]bool 转换后的布尔切片指针

func Bs added in v2.2.7

func Bs(val any) (slice []float64)

Bs 将任意值转换为存储容量字节数切片(float64 切片) @param val any 待转换的值 @return @1 []float64 转换后的字节数切片

func Byte

func Byte(val any) byte

Byte 将任意值转换为字节(等价于 Uint8) @param val any 待转换的值 @return @1 byte 转换后的字节

func BytePointer

func BytePointer(any any) *byte

BytePointer 将任意值转换为字节指针 @param val any 待转换的值 @return @1 *byte 转换后的字节指针

func Bytes

func Bytes(val any) []byte

Bytes 将任意值转换为字节切片 基础数值类型按大端序编码(int 编码为8字节、uint 编码为8字节、其他按自身位宽编码), 字符串无拷贝转换,[]byte 直接返回,其他类型优先 JSON 序列化;无法转换时返回 nil @param val any 待转换的值 @return @1 []byte 转换后的字节切片

func BytesPointer

func BytesPointer(any any) *[]byte

BytesPointer 将任意值转换为字节切片指针 @param val any 待转换的值 @return @1 *[]byte 转换后的字节切片指针

func BytesToString

func BytesToString(b []byte) string

BytesToString 字节切片无拷贝转字符串 转换后的字符串与字节切片共享底层内存,请勿修改原字节切片 @param b []byte 待转换的字节切片 @return @1 string 转换后的字符串

func Duration

func Duration(val any) time.Duration

Duration 将任意值转换为时间间隔 数值类型直接按纳秒换算;字符串支持 "ns"、"us"(或 "µs")、"ms"、"s"、"m"、"h"、"d"(天) 等时间单位,其中 "d" 天会被替换为对应的纳秒数后解析 @param val any 待转换的值 @return @1 time.Duration 转换后的时间间隔

func DurationPointer

func DurationPointer(any any) *time.Duration

DurationPointer 将任意值转换为时间间隔指针 @param val any 待转换的值 @return @1 *time.Duration 转换后的时间间隔指针

func Durations

func Durations(val any) (slice []time.Duration)

Durations 将任意值转换为时间间隔切片 @param val any 待转换的值 @return @1 []time.Duration 转换后的时间间隔切片

func DurationsPointer

func DurationsPointer(any any) *[]time.Duration

DurationsPointer 将任意值转换为时间间隔切片指针 @param val any 待转换的值 @return @1 *[]time.Duration 转换后的时间间隔切片指针

func Float32

func Float32(val any) float32

Float32 将任意值转换为 float32 @param val any 待转换的值 @return @1 float32 转换后的 float32

func Float32Pointer

func Float32Pointer(any any) *float32

Float32Pointer 将任意值转换为 float32 指针 @param val any 待转换的值 @return @1 *float32 转换后的 float32 指针

func Float32s

func Float32s(val any) (slice []float32)

Float32s 将任意值转换为 float32 切片 @param val any 待转换的值 @return @1 []float32 转换后的 float32 切片

func Float32sPointer

func Float32sPointer(any any) *[]float32

Float32sPointer 将任意值转换为 float32 切片指针 @param val any 待转换的值 @return @1 *[]float32 转换后的 float32 切片指针

func Float64

func Float64(val any) float64

Float64 将任意值转换为 float64 支持所有基础数值类型(复数取实部)、bool、time.Time(Unix纳秒)及 通过反射处理的字符串等类型;无法转换时返回 0 @param val any 待转换的值 @return @1 float64 转换后的 float64

func Float64Pointer

func Float64Pointer(any any) *float64

Float64Pointer 将任意值转换为 float64 指针 @param val any 待转换的值 @return @1 *float64 转换后的 float64 指针

func Float64s

func Float64s(val any) (slice []float64)

Float64s 将任意值转换为 float64 切片 @param val any 待转换的值 @return @1 []float64 转换后的 float64 切片

func Float64sPointer

func Float64sPointer(any any) *[]float64

Float64sPointer 将任意值转换为 float64 切片指针 @param val any 待转换的值 @return @1 *[]float64 转换后的 float64 切片指针

func GenericNumbers added in v2.5.3

func GenericNumbers[T any](val any) (slice []T)

GenericNumbers 将任意数值类型的切片/数组转换为指定泛型类型的数值切片 逐元素直接转换,目标类型支持整数、无符号整数、浮点数及基于它们的自定义类型, 不会经过 JSON 序列化,可避免大整数精度丢失;元素无法转换时转为零值 @param val any 待转换的切片或数组 @return @1 []T 转换后的数值切片

func Int

func Int(val any) int

Int 将任意值转换为 int @param val any 待转换的值 @return @1 int 转换后的 int

func Int8

func Int8(val any) int8

Int8 将任意值转换为 int8 @param val any 待转换的值 @return @1 int8 转换后的 int8

func Int8Pointer

func Int8Pointer(any any) *int8

Int8Pointer 将任意值转换为 int8 指针 @param val any 待转换的值 @return @1 *int8 转换后的 int8 指针

func Int8s

func Int8s(val any) (slice []int8)

Int8s 将任意值转换为 int8 切片 @param val any 待转换的值 @return @1 []int8 转换后的 int8 切片

func Int8sPointer

func Int8sPointer(any any) *[]int8

Int8sPointer 将任意值转换为 int8 切片指针 @param val any 待转换的值 @return @1 *[]int8 转换后的 int8 切片指针

func Int16

func Int16(val any) int16

Int16 将任意值转换为 int16 @param val any 待转换的值 @return @1 int16 转换后的 int16

func Int16Pointer

func Int16Pointer(any any) *int16

Int16Pointer 将任意值转换为 int16 指针 @param val any 待转换的值 @return @1 *int16 转换后的 int16 指针

func Int16s

func Int16s(val any) (slice []int16)

Int16s 将任意值转换为 int16 切片 @param val any 待转换的值 @return @1 []int16 转换后的 int16 切片

func Int16sPointer

func Int16sPointer(any any) *[]int16

Int16sPointer 将任意值转换为 int16 切片指针 @param val any 待转换的值 @return @1 *[]int16 转换后的 int16 切片指针

func Int32

func Int32(val any) int32

Int32 将任意值转换为 int32 @param val any 待转换的值 @return @1 int32 转换后的 int32

func Int32Pointer

func Int32Pointer(val any) *int32

Int32Pointer 将任意值转换为 int32 指针 @param val any 待转换的值 @return @1 *int32 转换后的 int32 指针

func Int32s

func Int32s(val any) (slice []int32)

Int32s 将任意值转换为 int32 切片 @param val any 待转换的值 @return @1 []int32 转换后的 int32 切片

func Int32sPointer

func Int32sPointer(val any) *[]int32

Int32sPointer 将任意值转换为 int32 切片指针 @param val any 待转换的值 @return @1 *[]int32 转换后的 int32 切片指针

func Int64

func Int64(val any) int64

Int64 将任意值转换为 int64 支持所有基础数值类型、bool、time.Time、[]byte(按大端序解析为64位整数,长度不超过8)及 通过反射处理的字符串等类型;无法转换时返回 0 @param val any 待转换的值 @return @1 int64 转换后的 int64

func Int64Pointer

func Int64Pointer(any any) *int64

Int64Pointer 将任意值转换为 int64 指针 @param val any 待转换的值 @return @1 *int64 转换后的 int64 指针

func Int64s

func Int64s(val any) (slice []int64)

Int64s 将任意值转换为 int64 切片 @param val any 待转换的值 @return @1 []int64 转换后的 int64 切片

func Int64sPointer

func Int64sPointer(any any) *[]int64

Int64sPointer 将任意值转换为 int64 切片指针 @param val any 待转换的值 @return @1 *[]int64 转换后的 int64 切片指针

func IntPointer

func IntPointer(any any) *int

IntPointer 将任意值转换为 int 指针 @param val any 待转换的值 @return @1 *int 转换后的 int 指针

func Ints

func Ints(val any) (slice []int)

Ints 将任意值转换为 int 切片 @param val any 待转换的值 @return @1 []int 转换后的 int 切片

func IntsPointer

func IntsPointer(any any) *[]int

IntsPointer 将任意值转换为 int 切片指针 @param val any 待转换的值 @return @1 *[]int 转换后的 int 切片指针

func Json

func Json(val any) string

Json 将任意值转换为 JSON 字符串 对已满足 JSON 格式(以 { } 或 [ ] 包裹)的字符串/字节切片直接返回; 对 map、数组、切片、结构体等类型进行 JSON 序列化;其他类型返回空字符串 @param val any 待转换的值 @return @1 string 转换后的 JSON 字符串

func Rune added in v2.3.0

func Rune(val any) rune

Rune 将任意值转换为符文(等价于 Int32) @param val any 待转换的值 @return @1 rune 转换后的符文

func RunePointer added in v2.3.0

func RunePointer(val any) *int32

RunePointer 将任意值转换为符文指针 @param val any 待转换的值 @return @1 *int32 转换后的符文指针

func Runes added in v2.3.0

func Runes(val any) []rune

Runes 将任意值转换为符文切片(等价于 Int32s) @param val any 待转换的值 @return @1 []rune 转换后的符文切片

func RunesPointer added in v2.3.0

func RunesPointer(val any) *[]int32

RunesPointer 将任意值转换为符文切片指针 @param val any 待转换的值 @return @1 *[]int32 转换后的符文切片指针

func String

func String(val any) string

String 将任意值转换为字符串 数值类型使用十进制格式化,float32/float64 按最短表示格式化,bool 转为 true/false, []byte 无拷贝转字符串,time.Time 零值返回空串,其他类型优先 JSON 序列化 @param val any 待转换的值 @return @1 string 转换后的字符串

func StringPointer

func StringPointer(val any) *string

StringPointer 将任意值转换为字符串指针 @param val any 待转换的值 @return @1 *string 转换后的字符串指针

func StringToBytes

func StringToBytes(s string) (b []byte)

StringToBytes 字符串无拷贝转字节切片 转换后的字节切片与字符串共享底层内存,修改字节会改变原字符串,请勿修改 @param s string 待转换的字符串 @return @1 []byte 转换后的字节切片

func Strings

func Strings(val any) (slice []string)

Strings 将任意值转换为字符串切片 @param val any 待转换的值 @return @1 []string 转换后的字符串切片

func StringsPointer

func StringsPointer(val any) *[]string

StringsPointer 将任意值转换为字符串切片指针 @param val any 待转换的值 @return @1 *[]string 转换后的字符串切片指针

func Uint

func Uint(val any) uint

Uint 将任意值转换为 uint @param val any 待转换的值 @return @1 uint 转换后的 uint

func Uint8

func Uint8(val any) uint8

Uint8 将任意值转换为 uint8 @param val any 待转换的值 @return @1 uint8 转换后的 uint8

func Uint8Pointer

func Uint8Pointer(val any) *uint8

Uint8Pointer 将任意值转换为 uint8 指针 @param val any 待转换的值 @return @1 *uint8 转换后的 uint8 指针

func Uint8s

func Uint8s(val any) (slice []uint8)

Uint8s 将任意值转换为 uint8 切片 @param val any 待转换的值 @return @1 []uint8 转换后的 uint8 切片

func Uint8sPointer

func Uint8sPointer(val any) *[]uint8

Uint8sPointer 将任意值转换为 uint8 切片指针 @param val any 待转换的值 @return @1 *[]uint8 转换后的 uint8 切片指针

func Uint16

func Uint16(val any) uint16

Uint16 将任意值转换为 uint16 @param val any 待转换的值 @return @1 uint16 转换后的 uint16

func Uint16Pointer

func Uint16Pointer(val any) *uint16

Uint16Pointer 将任意值转换为 uint16 指针 @param val any 待转换的值 @return @1 *uint16 转换后的 uint16 指针

func Uint16s

func Uint16s(val any) (slice []uint16)

Uint16s 将任意值转换为 uint16 切片 @param val any 待转换的值 @return @1 []uint16 转换后的 uint16 切片

func Uint16sPointer

func Uint16sPointer(val any) *[]uint16

Uint16sPointer 将任意值转换为 uint16 切片指针 @param val any 待转换的值 @return @1 *[]uint16 转换后的 uint16 切片指针

func Uint32

func Uint32(val any) uint32

Uint32 将任意值转换为 uint32 @param val any 待转换的值 @return @1 uint32 转换后的 uint32

func Uint32Pointer

func Uint32Pointer(val any) *uint32

Uint32Pointer 将任意值转换为 uint32 指针 @param val any 待转换的值 @return @1 *uint32 转换后的 uint32 指针

func Uint32s

func Uint32s(val any) (slice []uint32)

Uint32s 将任意值转换为 uint32 切片 @param val any 待转换的值 @return @1 []uint32 转换后的 uint32 切片

func Uint32sPointer

func Uint32sPointer(val any) *[]uint32

Uint32sPointer 将任意值转换为 uint32 切片指针 @param val any 待转换的值 @return @1 *[]uint32 转换后的 uint32 切片指针

func Uint64

func Uint64(val any) uint64

Uint64 将任意值转换为 uint64 支持所有基础数值类型、bool、time.Time、[]byte(按大端序解析为64位整数,长度不超过8)及 通过反射处理的字符串等类型;无法转换时返回 0 @param val any 待转换的值 @return @1 uint64 转换后的 uint64

func Uint64Pointer

func Uint64Pointer(val any) *uint64

Uint64Pointer 将任意值转换为 uint64 指针 @param val any 待转换的值 @return @1 *uint64 转换后的 uint64 指针

func Uint64s

func Uint64s(val any) (slice []uint64)

Uint64s 将任意值转换为 uint64 切片 @param val any 待转换的值 @return @1 []uint64 转换后的 uint64 切片

func Uint64sPointer

func Uint64sPointer(val any) *[]uint64

Uint64sPointer 将任意值转换为 uint64 切片指针 @param val any 待转换的值 @return @1 *[]uint64 转换后的 uint64 切片指针

func UintPointer

func UintPointer(val any) *uint

UintPointer 将任意值转换为 uint 指针 @param val any 待转换的值 @return @1 *uint 转换后的 uint 指针

func Uints

func Uints(val any) (slice []uint)

Uints 将任意值转换为 uint 切片 @param val any 待转换的值 @return @1 []uint 转换后的 uint 切片

func UintsPointer

func UintsPointer(val any) *[]uint

UintsPointer 将任意值转换为 uint 切片指针 @param val any 待转换的值 @return @1 *[]uint 转换后的 uint 切片指针

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL