// Package wrapper ... // // Description : wrapper ... // // Author : go_developer@163.com<白茶清欢> // // Date : 2023-05-05 13:56 package wrapper import ( "fmt" "math" "time" ) // Int int类型 // // Author : go_developer@163.com<白茶清欢> // // Date : 13:57 2023/5/5 type Int int64 // ToDuration ... // // Author : go_developer@163.com<白茶清欢> // // Date : 20:33 2023/9/4 func (i Int) ToDuration(timeUnit time.Duration) DurationResult { return DurationResult{ Value: time.Duration(i.ToInt64().Value) * timeUnit, Err: nil, } } // ToInt8 ... // // Author : go_developer@163.com<白茶清欢> // // Date : 13:57 2023/5/5 func (i Int) ToInt8() Int8Result { res := Int8Result{ Value: 0, Err: nil, } if math.MaxInt8 < int64(i) || math.MinInt8 > int64(i) { res.Err = fmt.Errorf("int8 value should between %v and %v ", int8(math.MinInt8), int8(math.MaxInt8)) return res } res.Value = int8(i) return res } // ToInt8Ptr ... // // Author : go_developer@163.com<白茶清欢> // // Date : 18:08 2023/5/15 func (i Int) ToInt8Ptr() Int8PtrResult { res := i.ToInt8() if nil != res.Err { return Int8PtrResult{ Value: nil, Err: res.Err, } } return Int8PtrResult{ Value: &res.Value, Err: nil, } } // ToInt16 ... // // Author : go_developer@163.com<白茶清欢> // // Date : 14:05 2023/5/5 func (i Int) ToInt16() Int16Result { res := Int16Result{ Value: 0, Err: nil, } if math.MaxInt16 < int64(i) || math.MinInt16 > int64(i) { res.Err = fmt.Errorf("int16 value should between %v and %v ", int16(math.MinInt16), int16(math.MaxInt16)) return res } res.Value = int16(i) return res } // ToInt16Ptr ... // // Author : go_developer@163.com<白茶清欢> // // Date : 18:07 2023/5/15 func (i Int) ToInt16Ptr() Int16PtrResult { res := i.ToInt16() if nil != res.Err { return Int16PtrResult{ Value: nil, Err: res.Err, } } return Int16PtrResult{ Value: &res.Value, Err: nil, } } // ToInt32 ... // // Author : go_developer@163.com<白茶清欢> // // Date : 14:05 2023/5/5 func (i Int) ToInt32() Int32Result { res := Int32Result{ Value: 0, Err: nil, } if math.MaxInt32 < int64(i) || math.MinInt32 > int64(i) { res.Err = fmt.Errorf("int32 value should between %v and %v ", int32(math.MinInt32), int32(math.MaxInt32)) return res } res.Value = int32(i) return res } // ToInt32Ptr ... // // Author : go_developer@163.com<白茶清欢> // // Date : 18:07 2023/5/15 func (i Int) ToInt32Ptr() Int32PtrResult { res := i.ToInt32() if nil != res.Err { return Int32PtrResult{ Value: nil, Err: res.Err, } } return Int32PtrResult{ Value: &res.Value, Err: nil, } } // ToInt64 ... // // Author : go_developer@163.com<白茶清欢> // // Date : 14:06 2023/5/5 func (i Int) ToInt64() Int64Result { res := Int64Result{ Value: 0, Err: nil, } if math.MaxInt64 < i || math.MinInt64 > i { res.Err = fmt.Errorf("int64 value should between %v and %v ", int64(math.MinInt64), int64(math.MaxInt64)) return res } res.Value = int64(i) return res } // ToInt64Ptr ... // // Author : go_developer@163.com<白茶清欢> // // Date : 18:05 2023/5/15 func (i Int) ToInt64Ptr() Int64PtrResult { res := i.ToInt64() if nil != res.Err { return Int64PtrResult{ Value: nil, Err: res.Err, } } return Int64PtrResult{ Value: &res.Value, Err: nil, } } // ToInt ... // // Author : go_developer@163.com<白茶清欢> // // Date : 14:07 2023/5/5 func (i Int) ToInt() IntResult { res := IntResult{ Value: 0, Err: nil, } if math.MaxInt < i || math.MinInt > i { res.Err = fmt.Errorf("int value should between %v and %v ", int(math.MinInt), int(math.MaxInt)) } res.Value = int(i) return res } // ToIntPtr ... // // Author : go_developer@163.com<白茶清欢> // // Date : 17:52 2023/5/15 func (i Int) ToIntPtr() IntPtrResult { intRes := i.ToInt() if nil != intRes.Err { return IntPtrResult{ Value: nil, Err: intRes.Err, } } return IntPtrResult{ Value: &intRes.Value, Err: nil, } } // ToString ... // // Author : go_developer@163.com<白茶清欢> // // Date : 14:07 2023/5/5 func (i Int) ToString() StringResult { result := i.ToInt64() if nil != result.Err { return StringResult{ Value: "", Err: result.Err, } } return StringResult{ Value: fmt.Sprintf("%v", result.Value), Err: nil, } } // ToStringPtr ... // // Author : go_developer@163.com<白茶清欢> // // Date : 18:02 2023/5/15 func (i Int) ToStringPtr() StringPtrResult { result := i.ToString() if nil != result.Err { return StringPtrResult{ Value: nil, Err: result.Err, } } return StringPtrResult{ Value: &result.Value, Err: nil, } }