Go 类型转换工具包
一个简单、安全、高效的转换任意数据类型的 Go 语言工具包,支持自定义类型、提取结构体字段和值
特性
安全
支持传入任意类型数据,不会造成恐慌,程序安全运行
轻量
代码少、零依赖,对应用程序几乎无臃肿负担
易用
语义清晰、命名统一、文档详细、直接上手
示例
cvt.IntE("12") // 12, nil
cvt.Float64E("12.34") // 12.34, nil
cvt.StringE(12.34) // "12.34", nil
cvt.BoolE("false") // false, nil
cvt.Int("12") // 12(success)
cvt.Int(struct{}{}) // 0(failed)
cvt.Int(struct{}{}, 12) // 12
cvt.Float("hello", 12.34) // 12.34
type Name string
var name Name = "jioby"
cvt.StringE(name) // jioby, nil
var name = "jioby"
cvt.StringE(&name) // jioby, nil
cvt.BoolP("true") // (*bool)(0x14000126180)(true)