Files
wrapper/op_number/number.go

87 lines
1.8 KiB
Go

// Package op_number ...
//
// Description : op_number ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2025-10-14 10:14
package op_number
import (
"git.zhangdeman.cn/zhangdeman/op_type"
"git.zhangdeman.cn/zhangdeman/wrapper/convert"
"git.zhangdeman.cn/zhangdeman/wrapper/define"
)
// ToNumber ...
func ToNumber[InputType op_type.BaseType, ResultType op_type.Number](in InputType) define.NumberResult[ResultType] {
var (
res ResultType
err error
)
if err = convert.ConvertAssign(&res, in); err != nil {
return define.NumberResult[ResultType]{
Err: err,
Value: res,
}
}
return define.NumberResult[ResultType]{
Err: nil,
Value: res,
}
}
// ToNumberPtr 数字指针
func ToNumberPtr[InputType op_type.BaseType, ResultType op_type.Number](in InputType) define.NumberPtrResult[ResultType] {
var (
res define.NumberResult[ResultType]
)
res = ToNumber[InputType, ResultType](in)
if nil != res.Err {
return define.NumberPtrResult[ResultType]{
Err: res.Err,
Value: nil,
}
}
return define.NumberPtrResult[ResultType]{
Err: nil,
Value: &res.Value,
}
}
// ToString 转换为字符串
func ToString[InputType op_type.Number](in InputType) define.BaseValueResult[string] {
var (
err error
res string
)
if err = convert.ConvertAssign(&res, in); err != nil {
return define.BaseValueResult[string]{
Value: res,
Err: err,
}
}
return define.BaseValueResult[string]{
Value: res,
Err: nil,
}
}
// ToStringPtr 字符串指针
func ToStringPtr[InputType op_type.Number](in InputType) define.BaseValuePtrResult[string] {
var (
res define.BaseValueResult[string]
)
res = ToString[InputType](in)
if nil != res.Err {
return define.BaseValuePtrResult[string]{
Err: res.Err,
Value: nil,
}
}
return define.BaseValuePtrResult[string]{
Err: nil,
Value: &res.Value,
}
}