// Package wrapper ... // // Description : wrapper ... // // Author : go_developer@163.com<白茶清欢> // // Date : 2023-05-05 13:56 package wrapper import ( "fmt" "math" ) // Int int类型 // // Author : go_developer@163.com<白茶清欢> // // Date : 13:57 2023/5/5 type Int int64 // 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 } // 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 } // 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 } // 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 } // 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, } }