1 Star 0 Fork 0

曾广宇/mxx-core-v2

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
conv_config.go 1.69 KB
一键复制 编辑 原始数据 按行查看 历史
曾广宇 提交于 2023-04-03 05:32 . 修正mod名称
package mutil
import (
"gitee.com/dennis-mxx/mxx-core-v2/mexception"
"gitee.com/dennis-mxx/mxx-core-v2/mlogger"
"github.com/howcrazy/xconv"
"reflect"
"strconv"
)
func init() {
defer mlogger.FormatException()
BoolTypes := []any{reflect.Bool}
convertMap := &xconv.ConvertMap
// int 转 string
(*convertMap).Set(xconv.IntTypes, xconv.StringTypes, func(convertor *xconv.Convertor, src reflect.Value, dst reflect.Value) {
dst.SetString(strconv.Itoa(int(src.Int())))
})
// float 转string
(*convertMap).Set(xconv.FloatTypes, xconv.StringTypes, func(convertor *xconv.Convertor, src reflect.Value, dst reflect.Value) {
dst.SetString(strconv.FormatFloat(src.Float(), 'g', -1, 32))
})
// bool 转string
(*convertMap).Set(BoolTypes, xconv.StringTypes, func(convertor *xconv.Convertor, src reflect.Value, dst reflect.Value) {
dst.SetString(strconv.FormatBool(src.Bool()))
})
// string 转 int
(*convertMap).Set(xconv.StringTypes, xconv.IntTypes, func(convertor *xconv.Convertor, src reflect.Value, dst reflect.Value) {
i, error := strconv.ParseInt(src.String(), 10, 64)
if error != nil {
panic(mexception.NewError(error))
}
dst.SetInt(i)
})
// string 转 float
(*convertMap).Set(xconv.StringTypes, xconv.FloatTypes, func(convertor *xconv.Convertor, src reflect.Value, dst reflect.Value) {
f, error := strconv.ParseFloat(src.String(), 64)
if error != nil {
panic(mexception.NewError(error))
}
dst.SetFloat(f)
})
// string 转 bool
(*convertMap).Set(xconv.StringTypes, BoolTypes, func(convertor *xconv.Convertor, src reflect.Value, dst reflect.Value) {
b, error := strconv.ParseBool(src.String())
if error != nil {
panic(mexception.NewError(error))
}
dst.SetBool(b)
})
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/dennis-mxx/mxx-core-v2.git
git@gitee.com:dennis-mxx/mxx-core-v2.git
dennis-mxx
mxx-core-v2
mxx-core-v2
v0.0.4

搜索帮助