Simple, safe conversion of any type, including indirect/custom types.
Go >= 1.13
go get -u github.com/shockerli/cvt
English | 中文
Method
__E()
: expect handle error, while unable to convert
cvt.IntE("12") // 12, nil
cvt.Float64E("12.34") // 12.34, nil
cvt.StringE(12.34) // "12.34", nil
cvt.BoolE("false") // false, nil
dereferencing pointer and reach the original type
type Name string
var name Name = "jioby"
cvt.StringE(name) // jioby, nil
cvt.StringE(&name) // jioby, nil
Method
__()
: ignore error, while convert failed, will return the zero value of type
cvt.Int("12") // 12(success)
cvt.Int(struct{}{}) // 0(failed)
return the default value, while convert failed
cvt.Int(struct{}{}, 12) // 12
cvt.Float("hello", 12.34) // 12.34
1000+ unit test cases, for more examples, see
*_test.go
This project is under the terms of the MIT license.