cvt
GitHub切换暗/亮/自动模式切换暗/亮/自动模式切换暗/亮/自动模式返回首页

Go 类型转换工具包

PkgGoDev Go Report Card Build Status codecov GitHub Mentioned in Awesome 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)