conv

package module
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2021 License: MIT Imports: 5 Imported by: 12

README

conv Go codecov license PkgGoDev

conv包提供了各个类型之间的转换:

conv.MustInt("123", 0)  // 返回 123 的数值
conv.MustString(123, "")// 返回字符串 123
conv.Int("123", 0)      // 返回 123 数值和 nil 的 error 接口

安装

go get github.com/issue9/conv

版权

本项目采用MIT开源授权许可证,完整的授权说明可在LICENSE文件中找到。

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

Constants

This section is empty.

Variables

This section is empty.

Functions

func Bool

func Bool(val interface{}) (bool, error)

Bool 将 val 转换成 bool 类型或是在无法转换的情况下返回 error

以下值被可以被正确转换:

123(true), 0(false),"-123"(true), "on"(true), "off"(false), "true"(true), "false"(false)

func Bytes

func Bytes(val interface{}) ([]byte, error)

Bytes 将 val 转换成 []byte 类型或是在无法转换的情况下返回 error

func Float32

func Float32(val interface{}) (float32, error)

Float32 将 val 转换成 float32 类型或是在无法转换的情况下返回 error

func Float64

func Float64(val interface{}) (float64, error)

Float64 将 val 转换成 float64 类型或是在无法转换的情况下返回 error

func Int

func Int(val interface{}) (int, error)

Int 将 val 转换成 int 类型或是在无法转换的情况下返回 error

func Int8

func Int8(val interface{}) (int8, error)

Int8 将 val 转换成 int8 类型或是在无法转换的情况下返回 error

func Int32

func Int32(val interface{}) (int32, error)

Int32 将 val 转换成 int32 类型或是在无法转换的情况下返回 error

func Int64

func Int64(val interface{}) (int64, error)

Int64 将 val 转换成 int64 类型或是在无法转换的情况下返回 error

func Map2Obj

func Map2Obj(src interface{}, dest interface{}, conv FieldConvert) error

Map2Obj 将 map 中的数据转换成一个结构中的数据

func MustBool

func MustBool(val interface{}, def ...bool) bool

MustBool 将 val 转换成 bool 类型或是在无法转换的情况下返回 def 参数

func MustBytes

func MustBytes(val interface{}, def ...[]byte) []byte

MustBytes 将 val 转换成 []byte 类型或是在无法转换的情况下返回 def 参数

func MustFloat32

func MustFloat32(val interface{}, def ...float32) float32

MustFloat32 将 val 转换成 float32 类型或是在无法转换的情况下返回 def 参数

func MustFloat64

func MustFloat64(val interface{}, def ...float64) float64

MustFloat64 将 val 转换成 float64 类型或是在无法转换的情况下返回 def 参数

func MustInt

func MustInt(val interface{}, def ...int) int

MustInt 将 val 转换成 int 类型或是在无法转换的情况下返回 def 参数

func MustInt8

func MustInt8(val interface{}, def ...int8) int8

MustInt8 将 val 转换成 int8 类型或是在无法转换的情况下返回 def 参数

func MustInt32

func MustInt32(val interface{}, def ...int32) int32

MustInt32 将 val 转换成 int32 类型或是在无法转换的情况下返回 def 参数

func MustInt64

func MustInt64(val interface{}, def ...int64) int64

MustInt64 将 val 转换成 int64 类型或是在无法转换的情况下返回 def 参数

func MustSlice

func MustSlice(val interface{}, def ...[]interface{}) []interface{}

MustSlice 将 val 转换成 slice 类型或是在无法转换的情况下返回 def 参数

func MustString

func MustString(val interface{}, def ...string) string

MustString 将 val 转换成 string 类型或是在无法转换的情况下返回 def 参数

func MustUint

func MustUint(val interface{}, def ...uint) uint

MustUint 将 val 转换成 uint 类型或是在无法转换的情况下返回 def 参数

func MustUint8

func MustUint8(val interface{}, def ...uint8) uint8

MustUint8 将 val 转换成 uint8 类型或是在无法转换的情况下返回 def 参数

func MustUint32

func MustUint32(val interface{}, def ...uint32) uint32

MustUint32 将 val 转换成 uint32 类型或是在无法转换的情况下返回 def 参数

func MustUint64

func MustUint64(val interface{}, def ...uint64) uint64

MustUint64 将 val 转换成 uint64 类型或是在无法转换的情况下返回 def 参数

func Obj2Map

func Obj2Map(obj interface{}, conv FieldConvert) (map[string]interface{}, error)

Obj2Map 将 obj 转换成 map

NOTE: 只能转换可导出的数据。

func Slice

func Slice(val interface{}) ([]interface{}, error)

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

func String(val interface{}) (string, error)

String 将 val 转换成 string 类型或是在无法转换的情况下返回 error

func Uint

func Uint(val interface{}) (uint, error)

Uint 将 val 转换成 uint 类型或是在无法转换的情况下返回 error

func Uint8

func Uint8(val interface{}) (uint8, error)

Uint8 将 val 转换成 uint8 类型或是在无法转换的情况下返回 error

func Uint32

func Uint32(val interface{}) (uint32, error)

Uint32 将 val 转换成 uint32 类型或是在无法转换的情况下返回 error

func Uint64

func Uint64(val interface{}) (uint64, error)

Uint64 将 val 转换成 uint64 类型或是在无法转换的情况下返回 error

将一个有符号整数转换成无符号整数,负数将返回错误,正数和零正常转换

func Value

func Value(source interface{}, target reflect.Value) error

Value 将 source 的值保存到成 target 中

如果 source 为 nil,则会将 target 的值设置为其默认的零值。

若类型不能直接转换,会尝试其它种方式转换,比如 strconv.ParseInt() 等。

Types

type FieldConvert

type FieldConvert func(src string) (dest string)

FieldConvert 字段转换

用于 map 转换到一个对象实例或是从一个对象实例转换到 map 时,字段名称的转换。

Jump to

Keyboard shortcuts

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