跳到主要内容

安装

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)

改函数是对 booluint 系列函数、int 系列函数 和 float 系列函数的封装,参数 targetType 支持的值如下:

  • intint8int16int32int64
  • uintuint8uint16uint32uint64
  • bool
  • float32float64
  • string