Documentation ¶
Overview ¶
Package conv 提供了基础的类型转换功能
会尽最大可能地将当前的值转换成指定类型的值。
conv.MustInt("123", 0) // 返回 123 的数值 conv.MustString(123, "")// 返回字符串 123 conv.Int("123", 0) // 返回 123 数值和 nil 的 error 接口 v := 5 conv.Value("3", reflect.ValueOf(v)) // 将 3 转换成数值,并写入 v 中。
Index ¶
- func Bool(val any) (bool, error)
- func Bytes(val any) ([]byte, error)
- func Float32(val any) (float32, error)
- func Float64(val any) (float64, error)
- func Int(val any) (int, error)
- func Int32(val any) (int32, error)
- func Int64(val any) (int64, error)
- func Int8(val any) (int8, error)
- func IntOf[T Signed](val any) (T, error)
- func Map2Obj(src any, dest any, conv FieldConvert) error
- func MustBool(val any, def ...bool) bool
- func MustBytes(val any, def ...[]byte) []byte
- func MustFloat32(val any, def ...float32) float32
- func MustFloat64(val any, def ...float64) float64
- func MustInt(val any, def ...int) int
- func MustInt32(val any, def ...int32) int32
- func MustInt64(val any, def ...int64) int64
- func MustInt8(val any, def ...int8) int8
- func MustIntOf[T Signed](val any, def ...T) T
- func MustSlice(val any, def ...[]any) []any
- func MustSliceOf[T any](val any, def ...[]T) []T
- func MustString(val any, def ...string) string
- func MustUint(val any, def ...uint) uint
- func MustUint32(val any, def ...uint32) uint32
- func MustUint64(val any, def ...uint64) uint64
- func MustUint8(val any, def ...uint8) uint8
- func MustUintOf[T Unsigned](val any, def ...T) T
- func Obj2Map(obj any, conv FieldConvert) (map[string]any, error)
- func Slice(val any) ([]any, error)
- func SliceOf[T any](val any) ([]T, error)
- func String(val any) (string, error)
- func Uint(val any) (uint, error)
- func Uint32(val any) (uint32, error)
- func Uint64(val any) (uint64, error)
- func Uint8(val any) (uint8, error)
- func UintOf[T Unsigned](val any) (T, error)
- func Value(source any, target reflect.Value) error
- type FieldConvert
- type Signed
- type Unsigned
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Bool ¶
Bool 将 val 转换成 bool 类型或是在无法转换的情况下返回 error
以下值被可以被正确转换:
123(true), 0(false),"-123"(true), "on"(true), "off"(false), "true"(true), "false"(false)
func Map2Obj ¶
func Map2Obj(src any, dest any, conv FieldConvert) error
Map2Obj 将 map 中的数据转换成一个结构中的数据
func MustFloat32 ¶
MustFloat32 将 val 转换成 float32 类型或是在无法转换的情况下返回 def 参数
func MustFloat64 ¶
MustFloat64 将 val 转换成 float64 类型或是在无法转换的情况下返回 def 参数
func MustSliceOf ¶ added in v1.3.0
MustSliceOf 将 val 转换成 slice 类型或是在无法转换的情况下返回 def 参数
func MustString ¶
MustString 将 val 转换成 string 类型或是在无法转换的情况下返回 def 参数
func MustUint32 ¶
MustUint32 将 val 转换成 uint32 类型或是在无法转换的情况下返回 def 参数
func MustUint64 ¶
MustUint64 将 val 转换成 uint64 类型或是在无法转换的情况下返回 def 参数
func MustUintOf ¶ added in v1.3.0
MustUintOf 将 val 转换成 T 类型或是在无法转换的情况下返回 def 参数
func Obj2Map ¶
func Obj2Map(obj any, conv FieldConvert) (map[string]any, error)
Obj2Map 将 obj 转换成 map
NOTE: 只能转换可导出的数据。
func Slice ¶
Slice 将 val 转换成 slice 类型或是在无法转换的情况下返回 error
[]int, []interface{} 以及数组都可以转换。 []byte("123") 返回 []interface{}{byte(49),byte(50),byte(51)} "123" 返回 []interface{}{rune(49),rune(50),rune(51)}
func String ¶
String 将 val 转换成 string 类型或是在无法转换的情况下返回 error
NOTE: fmt.Stringer, ret.Error 和 encoding.TextMarshaler 都将被正确转换成字符串。