安装
cast 是一个基本的类型转换函数库, 最低的语言版本支持 go 1.21.0
。
go get -u go-slim.dev/cast
Bool
函数签名如下:
func Bool(s string) (bool, error)
将字符串解析成 bool
值,内部使用标准库 strconv.ParseBool
实现。
Uint 系列
函数签名如下:
func Uint(s string) (uint, error)
func Uint8(s string) (uint8, error)
func Uint16(s string) (uint16, error)
func Uint32(s string) (uint32, error)
func Uint64(s string) (uint64, error)
将字符串解析成对应类型的值,内部使用标准库 strconv.ParseUint
实现。
Int 系列
函数签名如下:
func Int(s string) (int, error)
func Int8(s string) (int8, error)
func Int16(s string) (int16, error)
func Int32(s string) (int32, error)
func Int64(s string) (int64, error)
将字符串解析成对应类型的值,内部使用标准库 strconv.ParseInt
实现。
Float 系列
函数签名如下:
func Float32(s string) (float32, error)
func Float64(s string) (float64, error)
将字符串解析成对应类型的值,内部使用标准库 strconv.ParseFloat
实现。
基于反射的转换
函数签名如下:
FromType(s string, targetType reflect.Type) (any, error)
该函数表示将字符串 s
转换成目标类型 targetType
,并返回该类型对用的值。
转换成指定的数据类型
函数签名如下:
func FromString(s string, targetType string) (any, error)
改函数是对 bool
、uint
系列函数、int
系列函数 和 float
系列函数的封装,参数 targetType
支持的值如下:
int
、int8
、int16
、int32
、int64
uint
、uint8
、uint16
、uint32
、uint64
bool
float32
、float64
string