cvt Go 任意数据类型安全转换开源项目

我要开发同款
匿名用户2021年11月15日
52阅读
开发技术GO语言
所属分类Google Go、常用工具包、程序开发
授权协议MIT

作品详情

cvt是一个简单、安全、高效的转换任意数据类型的Go语言工具包,支持自定义类型、提取结构体字段和值。

安装goget-ugithub.com/shockerli/cvt使用支持 error

以 E 结尾的方法 __E():当转换失败时会返回错误

cvt.IntE("12")//12,nilcvt.Float64E("12.34")//12.34,nilcvt.StringE(12.34)//"12.34",nilcvt.BoolE("false")//false,nil自定义类型、指针类型

自动解引用,并找到基本类型,完全支持自定义类型的转换

typeNamestringvarnameName="jioby"cvt.StringE(name)//jioby,nilcvt.StringE(&name)//jioby,nil忽略 error

名称不以 E 结尾的方法,如果转换失败,不会返回错误,会返回零值

cvt.Int("12")//12(success)cvt.Int(struct{}{})//0(failed)默认值

如果转换失败,返回默认值

cvt.Int(struct{}{},12)//12cvt.Float("hello",12.34)//12.34更多示例

上千个单元测试用例,覆盖率近100%,所有示例可通过单元测试了解:*_test.go

APIboolBoolBoolEintIntIntEInt8Int8EInt16Int16EInt32Int32EInt64Int64EUintUintEUint8Uint8EUint16Uint16EUint32Uint32EUint64Uint64EstringStringStringEfloatFloat32Float32EFloat64Float64EtimeTimeTimeEsliceColumnsE:类似于PHP中的 array_column,FieldE 函数的切片版本,返回 []interface{}FieldE:取 map 或 struct 的字段值,返回 interface{}KeysE:取 map 的键名,返回 []interface{}Slice / SliceE:转换成 []interface{}SliceIntE:转换成 []intSliceInt64E:转换成 []int64SliceFloat64E:转换成 []float64SliceStringE:转换成 []string
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论