代码拉取完成,页面将自动刷新
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)
})
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。