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

我要开发同款
匿名用户2021年11月15日
120阅读

技术信息

开源地址
https://github.com/shockerli/cvt
授权协议
MIT

作品详情

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

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

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

cvt.ItE("12")//12,ilcvt.Float64E("12.34")//12.34,ilcvt.StrigE(12.34)//"12.34",ilcvt.BoolE("false")//false,il自定义类型、指针类型

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

typeNamestrigvarameName="jioby"cvt.StrigE(ame)//jioby,ilcvt.StrigE(&ame)//jioby,il忽略 error

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

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

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

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

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

APIboolBoolBoolEitItItEIt8It8EIt16It16EIt32It32EIt64It64EUitUitEUit8Uit8EUit16Uit16EUit32Uit32EUit64Uit64EstrigStrigStrigEfloatFloat32Float32EFloat64Float64EtimeTimeTimeEsliceColumsE:类似于PHP中的 array_colum,FieldE 函数的切片版本,返回 []iterface{}FieldE:取 map 或 struct 的字段值,返回 iterface{}KeysE:取 map 的键名,返回 []iterface{}Slice / SliceE:转换成 []iterface{}SliceItE:转换成 []itSliceIt64E:转换成 []it64SliceFloat64E:转换成 []float64SliceStrigE:转换成 []strig

功能介绍

cvt 是一个简单、安全、高效的转换任意数据类型的 Go 语言工具包,支持自定义类型、提取结构体字段和值。 安装 go get -u github.com/shockerli/cvt
使用 支...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论