mirror of
https://github.com/jefferyjob/go-easy-utils.git
synced 2025-10-04 06:36:30 +08:00
fix: err code 迁移到各自的包下 (#65)
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
package anyUtil
|
package anyUtil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jefferyjob/go-easy-utils/v2"
|
|
||||||
"math"
|
"math"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strconv"
|
"strconv"
|
||||||
@@ -14,7 +13,7 @@ func AnyToFloat32(i any) (float32, error) {
|
|||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
if f64 < -math.MaxFloat32 || f64 > math.MaxFloat32 {
|
if f64 < -math.MaxFloat32 || f64 > math.MaxFloat32 {
|
||||||
return 0, go_easy_utils.ErrValOut
|
return 0, ErrValOut
|
||||||
}
|
}
|
||||||
return float32(f64), nil
|
return float32(f64), nil
|
||||||
}
|
}
|
||||||
@@ -39,7 +38,7 @@ func AnyToFloat64(i any) (float64, error) {
|
|||||||
case reflect.String:
|
case reflect.String:
|
||||||
floatValue, err := strconv.ParseFloat(v.String(), 64)
|
floatValue, err := strconv.ParseFloat(v.String(), 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, go_easy_utils.ErrSyntax
|
return 0, ErrSyntax
|
||||||
}
|
}
|
||||||
return floatValue, nil
|
return floatValue, nil
|
||||||
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
|
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
|
||||||
@@ -55,6 +54,6 @@ func AnyToFloat64(i any) (float64, error) {
|
|||||||
return 0, nil
|
return 0, nil
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return 0, go_easy_utils.ErrType
|
return 0, ErrType
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package anyUtil
|
package anyUtil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
go_easy_utils "github.com/jefferyjob/go-easy-utils/v2"
|
|
||||||
"math"
|
"math"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
@@ -30,8 +29,8 @@ func TestAnyToFloat32(t *testing.T) {
|
|||||||
{uint32(32), 32, nil},
|
{uint32(32), 32, nil},
|
||||||
{uint64(64), 64, nil},
|
{uint64(64), 64, nil},
|
||||||
{"3.14", 3.14, nil},
|
{"3.14", 3.14, nil},
|
||||||
{math.MaxFloat64, 0, go_easy_utils.ErrValOut},
|
{math.MaxFloat64, 0, ErrValOut},
|
||||||
{make(chan int), 0, go_easy_utils.ErrType},
|
{make(chan int), 0, ErrType},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
@@ -79,8 +78,8 @@ func TestAnyToFloat64(t *testing.T) {
|
|||||||
{complex128(1 + 2i), 1, nil},
|
{complex128(1 + 2i), 1, nil},
|
||||||
{&iPtr, 90, nil},
|
{&iPtr, 90, nil},
|
||||||
{(*int)(nil), 0, nil},
|
{(*int)(nil), 0, nil},
|
||||||
{"abc", 0, go_easy_utils.ErrSyntax},
|
{"abc", 0, ErrSyntax},
|
||||||
{[]int{}, 0, go_easy_utils.ErrType},
|
{[]int{}, 0, ErrType},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package anyUtil
|
package anyUtil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jefferyjob/go-easy-utils/v2"
|
|
||||||
"math"
|
"math"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strconv"
|
"strconv"
|
||||||
@@ -16,7 +15,7 @@ func AnyToInt(i any) (int, error) {
|
|||||||
|
|
||||||
// int 兼容32位和64位系统
|
// int 兼容32位和64位系统
|
||||||
if int64(int(v)) != v {
|
if int64(int(v)) != v {
|
||||||
return 0, go_easy_utils.ErrValOut
|
return 0, ErrValOut
|
||||||
}
|
}
|
||||||
|
|
||||||
return int(v), nil
|
return int(v), nil
|
||||||
@@ -29,7 +28,7 @@ func AnyToInt8(i any) (int8, error) {
|
|||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
if value < math.MinInt8 || value > math.MaxInt8 {
|
if value < math.MinInt8 || value > math.MaxInt8 {
|
||||||
return 0, go_easy_utils.ErrValOut
|
return 0, ErrValOut
|
||||||
}
|
}
|
||||||
return int8(value), nil
|
return int8(value), nil
|
||||||
}
|
}
|
||||||
@@ -41,7 +40,7 @@ func AnyToInt16(i any) (int16, error) {
|
|||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
if value < math.MinInt16 || value > math.MaxInt16 {
|
if value < math.MinInt16 || value > math.MaxInt16 {
|
||||||
return 0, go_easy_utils.ErrValOut
|
return 0, ErrValOut
|
||||||
}
|
}
|
||||||
return int16(value), nil
|
return int16(value), nil
|
||||||
}
|
}
|
||||||
@@ -53,7 +52,7 @@ func AnyToInt32(i any) (int32, error) {
|
|||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
if value < math.MinInt32 || value > math.MaxInt32 {
|
if value < math.MinInt32 || value > math.MaxInt32 {
|
||||||
return 0, go_easy_utils.ErrValOut
|
return 0, ErrValOut
|
||||||
}
|
}
|
||||||
return int32(value), nil
|
return int32(value), nil
|
||||||
}
|
}
|
||||||
@@ -78,7 +77,7 @@ func AnyToInt64(i any) (int64, error) {
|
|||||||
case reflect.String:
|
case reflect.String:
|
||||||
intValue, err := strconv.ParseInt(v.String(), 10, 64)
|
intValue, err := strconv.ParseInt(v.String(), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, go_easy_utils.ErrSyntax
|
return 0, ErrSyntax
|
||||||
}
|
}
|
||||||
return intValue, nil
|
return intValue, nil
|
||||||
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
|
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
|
||||||
@@ -96,6 +95,6 @@ func AnyToInt64(i any) (int64, error) {
|
|||||||
return 0, nil
|
return 0, nil
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return 0, go_easy_utils.ErrType
|
return 0, ErrType
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -2,7 +2,6 @@ package anyUtil
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"github.com/jefferyjob/go-easy-utils/v2"
|
|
||||||
"math"
|
"math"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
@@ -32,7 +31,7 @@ func TestAnyToInt(t *testing.T) {
|
|||||||
{input: float32(123.45), expected: 123, err: nil},
|
{input: float32(123.45), expected: 123, err: nil},
|
||||||
{input: float64(123.45), expected: 123, err: nil},
|
{input: float64(123.45), expected: 123, err: nil},
|
||||||
{input: "123", expected: 123, err: nil},
|
{input: "123", expected: 123, err: nil},
|
||||||
{input: "abc", expected: 0, err: go_easy_utils.ErrSyntax},
|
{input: "abc", expected: 0, err: ErrSyntax},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range testCases {
|
for _, tc := range testCases {
|
||||||
@@ -83,13 +82,13 @@ func TestAnyToInt8(t *testing.T) {
|
|||||||
name: "positive integer out of range",
|
name: "positive integer out of range",
|
||||||
input: 128,
|
input: 128,
|
||||||
expected: 0,
|
expected: 0,
|
||||||
err: go_easy_utils.ErrValOut,
|
err: ErrValOut,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "negative integer out of range",
|
name: "negative integer out of range",
|
||||||
input: -129,
|
input: -129,
|
||||||
expected: 0,
|
expected: 0,
|
||||||
err: go_easy_utils.ErrValOut,
|
err: ErrValOut,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "float",
|
name: "float",
|
||||||
@@ -107,13 +106,13 @@ func TestAnyToInt8(t *testing.T) {
|
|||||||
name: "string out of range",
|
name: "string out of range",
|
||||||
input: "128",
|
input: "128",
|
||||||
expected: 0,
|
expected: 0,
|
||||||
err: go_easy_utils.ErrValOut,
|
err: ErrValOut,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "invalid string",
|
name: "invalid string",
|
||||||
input: "invalid",
|
input: "invalid",
|
||||||
expected: 0,
|
expected: 0,
|
||||||
err: go_easy_utils.ErrSyntax,
|
err: ErrSyntax,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -159,8 +158,8 @@ func TestAnyToInt16(t *testing.T) {
|
|||||||
{float32(123.45), 123, nil},
|
{float32(123.45), 123, nil},
|
||||||
{float64(123.45), 123, nil},
|
{float64(123.45), 123, nil},
|
||||||
{"12345", 12345, nil},
|
{"12345", 12345, nil},
|
||||||
{math.MinInt16 - 1, 0, go_easy_utils.ErrValOut},
|
{math.MinInt16 - 1, 0, ErrValOut},
|
||||||
{"not a number", 0, go_easy_utils.ErrSyntax},
|
{"not a number", 0, ErrSyntax},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
@@ -184,13 +183,13 @@ func TestAnyToInt32(t *testing.T) {
|
|||||||
}{
|
}{
|
||||||
{int(123), 123, nil},
|
{int(123), 123, nil},
|
||||||
{int64(2147483647), 2147483647, nil},
|
{int64(2147483647), 2147483647, nil},
|
||||||
{int64(2147483648), 0, go_easy_utils.ErrValOut},
|
{int64(2147483648), 0, ErrValOut},
|
||||||
{int64(-2147483648), -2147483648, nil},
|
{int64(-2147483648), -2147483648, nil},
|
||||||
{int64(-2147483649), 0, go_easy_utils.ErrValOut},
|
{int64(-2147483649), 0, ErrValOut},
|
||||||
{float64(123.45), 123, nil},
|
{float64(123.45), 123, nil},
|
||||||
{"123", 123, nil},
|
{"123", 123, nil},
|
||||||
{"-2147483649", 0, go_easy_utils.ErrValOut},
|
{"-2147483649", 0, ErrValOut},
|
||||||
{struct{}{}, 0, go_easy_utils.ErrType},
|
{struct{}{}, 0, ErrType},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, testCase := range testCases {
|
for _, testCase := range testCases {
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package anyUtil
|
package anyUtil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jefferyjob/go-easy-utils/v2"
|
|
||||||
"math"
|
"math"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strconv"
|
"strconv"
|
||||||
@@ -16,7 +15,7 @@ func AnyToUint(i any) (uint, error) {
|
|||||||
|
|
||||||
// uint 兼容32位和64位系统
|
// uint 兼容32位和64位系统
|
||||||
if uint64(uint(v)) != v {
|
if uint64(uint(v)) != v {
|
||||||
return 0, go_easy_utils.ErrValOut
|
return 0, ErrValOut
|
||||||
}
|
}
|
||||||
|
|
||||||
return uint(v), nil
|
return uint(v), nil
|
||||||
@@ -29,7 +28,7 @@ func AnyToUint8(i any) (uint8, error) {
|
|||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
if value > math.MaxUint8 {
|
if value > math.MaxUint8 {
|
||||||
return 0, go_easy_utils.ErrValOut
|
return 0, ErrValOut
|
||||||
}
|
}
|
||||||
return uint8(value), nil
|
return uint8(value), nil
|
||||||
}
|
}
|
||||||
@@ -41,7 +40,7 @@ func AnyToUint16(i any) (uint16, error) {
|
|||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
if value > math.MaxUint16 {
|
if value > math.MaxUint16 {
|
||||||
return 0, go_easy_utils.ErrValOut
|
return 0, ErrValOut
|
||||||
}
|
}
|
||||||
return uint16(value), nil
|
return uint16(value), nil
|
||||||
}
|
}
|
||||||
@@ -53,7 +52,7 @@ func AnyToUint32(i any) (uint32, error) {
|
|||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
if value > math.MaxUint32 {
|
if value > math.MaxUint32 {
|
||||||
return 0, go_easy_utils.ErrValOut
|
return 0, ErrValOut
|
||||||
}
|
}
|
||||||
return uint32(value), nil
|
return uint32(value), nil
|
||||||
}
|
}
|
||||||
@@ -78,26 +77,26 @@ func AnyToUint64(i any) (uint64, error) {
|
|||||||
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
|
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
|
||||||
intValue := v.Int()
|
intValue := v.Int()
|
||||||
if intValue < 0 {
|
if intValue < 0 {
|
||||||
return 0, go_easy_utils.ErrUnsignedInt
|
return 0, ErrUnsignedInt
|
||||||
}
|
}
|
||||||
return uint64(intValue), nil
|
return uint64(intValue), nil
|
||||||
case reflect.Float32, reflect.Float64:
|
case reflect.Float32, reflect.Float64:
|
||||||
floatValue := v.Float()
|
floatValue := v.Float()
|
||||||
if floatValue < 0 {
|
if floatValue < 0 {
|
||||||
return 0, go_easy_utils.ErrUnsignedInt
|
return 0, ErrUnsignedInt
|
||||||
}
|
}
|
||||||
return uint64(floatValue), nil
|
return uint64(floatValue), nil
|
||||||
case reflect.Complex64, reflect.Complex128:
|
case reflect.Complex64, reflect.Complex128:
|
||||||
realValue := real(v.Complex())
|
realValue := real(v.Complex())
|
||||||
if realValue < 0 {
|
if realValue < 0 {
|
||||||
return 0, go_easy_utils.ErrUnsignedInt
|
return 0, ErrUnsignedInt
|
||||||
}
|
}
|
||||||
return uint64(realValue), nil
|
return uint64(realValue), nil
|
||||||
case reflect.String:
|
case reflect.String:
|
||||||
strValue := v.String()
|
strValue := v.String()
|
||||||
uintValue, err := strconv.ParseUint(strValue, 10, 64)
|
uintValue, err := strconv.ParseUint(strValue, 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, go_easy_utils.ErrSyntax
|
return 0, ErrSyntax
|
||||||
}
|
}
|
||||||
return uintValue, nil
|
return uintValue, nil
|
||||||
case reflect.Bool:
|
case reflect.Bool:
|
||||||
@@ -107,6 +106,6 @@ func AnyToUint64(i any) (uint64, error) {
|
|||||||
return 0, nil
|
return 0, nil
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return 0, go_easy_utils.ErrType
|
return 0, ErrType
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package anyUtil
|
package anyUtil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jefferyjob/go-easy-utils/v2"
|
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
@@ -14,11 +13,11 @@ func TestAnyToUint(t *testing.T) {
|
|||||||
err error
|
err error
|
||||||
}{
|
}{
|
||||||
{10, 10, nil},
|
{10, 10, nil},
|
||||||
{-5, 0, go_easy_utils.ErrUnsignedInt},
|
{-5, 0, ErrUnsignedInt},
|
||||||
{"20", 20, nil},
|
{"20", 20, nil},
|
||||||
{1.5, 1, nil},
|
{1.5, 1, nil},
|
||||||
{2.5, 2, nil},
|
{2.5, 2, nil},
|
||||||
{make(chan int), 0, go_easy_utils.ErrType},
|
{make(chan int), 0, ErrType},
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test loop
|
// Test loop
|
||||||
@@ -39,10 +38,10 @@ func TestAnyToUint8(t *testing.T) {
|
|||||||
err error
|
err error
|
||||||
}{
|
}{
|
||||||
{10, 10, nil},
|
{10, 10, nil},
|
||||||
{300, 0, go_easy_utils.ErrValOut},
|
{300, 0, ErrValOut},
|
||||||
{"20", 20, nil},
|
{"20", 20, nil},
|
||||||
{1.5, 1, nil},
|
{1.5, 1, nil},
|
||||||
{make(chan int), 0, go_easy_utils.ErrType},
|
{make(chan int), 0, ErrType},
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test loop
|
// Test loop
|
||||||
@@ -63,10 +62,10 @@ func TestAnyToUint16(t *testing.T) {
|
|||||||
err error
|
err error
|
||||||
}{
|
}{
|
||||||
{10, 10, nil},
|
{10, 10, nil},
|
||||||
{70000, 0, go_easy_utils.ErrValOut},
|
{70000, 0, ErrValOut},
|
||||||
{"20", 20, nil},
|
{"20", 20, nil},
|
||||||
{1.5, 1, nil},
|
{1.5, 1, nil},
|
||||||
{make(chan int), 0, go_easy_utils.ErrType},
|
{make(chan int), 0, ErrType},
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test loop
|
// Test loop
|
||||||
@@ -87,10 +86,10 @@ func TestAnyToUint32(t *testing.T) {
|
|||||||
err error
|
err error
|
||||||
}{
|
}{
|
||||||
{10, 10, nil},
|
{10, 10, nil},
|
||||||
{5000000000, 0, go_easy_utils.ErrValOut},
|
{5000000000, 0, ErrValOut},
|
||||||
{"20", 20, nil},
|
{"20", 20, nil},
|
||||||
{1.5, 1, nil},
|
{1.5, 1, nil},
|
||||||
{make(chan int), 0, go_easy_utils.ErrType},
|
{make(chan int), 0, ErrType},
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test loop
|
// Test loop
|
||||||
@@ -115,37 +114,37 @@ func TestAnyToUint64(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "Test -float32",
|
name: "Test -float32",
|
||||||
input: float32(-0.1),
|
input: float32(-0.1),
|
||||||
wantError: go_easy_utils.ErrUnsignedInt,
|
wantError: ErrUnsignedInt,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Test -float64",
|
name: "Test -float64",
|
||||||
input: float64(-0.2),
|
input: float64(-0.2),
|
||||||
wantError: go_easy_utils.ErrUnsignedInt,
|
wantError: ErrUnsignedInt,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Test -int",
|
name: "Test -int",
|
||||||
input: int(-1),
|
input: int(-1),
|
||||||
wantError: go_easy_utils.ErrUnsignedInt,
|
wantError: ErrUnsignedInt,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Test -int8",
|
name: "Test -int8",
|
||||||
input: int8(-2),
|
input: int8(-2),
|
||||||
wantError: go_easy_utils.ErrUnsignedInt,
|
wantError: ErrUnsignedInt,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Test -int16",
|
name: "Test -int16",
|
||||||
input: int16(-3),
|
input: int16(-3),
|
||||||
wantError: go_easy_utils.ErrUnsignedInt,
|
wantError: ErrUnsignedInt,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Test -int32",
|
name: "Test -int32",
|
||||||
input: int32(-4),
|
input: int32(-4),
|
||||||
wantError: go_easy_utils.ErrUnsignedInt,
|
wantError: ErrUnsignedInt,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Test -int64",
|
name: "Test -int64",
|
||||||
input: int64(-5),
|
input: int64(-5),
|
||||||
wantError: go_easy_utils.ErrUnsignedInt,
|
wantError: ErrUnsignedInt,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Test uint",
|
name: "Test uint",
|
||||||
@@ -220,7 +219,7 @@ func TestAnyToUint64(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "Test invalid string",
|
name: "Test invalid string",
|
||||||
input: "not a number",
|
input: "not a number",
|
||||||
wantError: go_easy_utils.ErrSyntax,
|
wantError: ErrSyntax,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Test nil pointer",
|
name: "Test nil pointer",
|
||||||
@@ -251,12 +250,12 @@ func TestAnyToUint64(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "test -complex",
|
name: "test -complex",
|
||||||
input: complex(-1, -1),
|
input: complex(-1, -1),
|
||||||
wantError: go_easy_utils.ErrUnsignedInt,
|
wantError: ErrUnsignedInt,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Test invalid type",
|
name: "Test invalid type",
|
||||||
input: make(chan int),
|
input: make(chan int),
|
||||||
wantError: go_easy_utils.ErrType,
|
wantError: ErrType,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
24
anyUtil/err_code.go
Normal file
24
anyUtil/err_code.go
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
package anyUtil
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"strconv"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
// ErrSyntax indicates that a value does not have the right syntax for the target type
|
||||||
|
// 指示值不具有目标类型的正确语法
|
||||||
|
ErrSyntax = strconv.ErrSyntax
|
||||||
|
|
||||||
|
// ErrType indicates that a value does not have the right syntax for the target type
|
||||||
|
// 指示值不具有目标类型的正确语法
|
||||||
|
ErrType = errors.New("unsupported type")
|
||||||
|
|
||||||
|
// ErrValOut Indicates that the range corresponding to the type is exceeded
|
||||||
|
// 表示超出了类型对应的范围
|
||||||
|
ErrValOut = errors.New("value out of range")
|
||||||
|
|
||||||
|
// ErrUnsignedInt The identity type is negative, so it cannot be converted to an unsigned integer
|
||||||
|
// 标识类型为负数,所以无法转为无符号的整型
|
||||||
|
ErrUnsignedInt = errors.New("cannot convert negative value to unsigned integer")
|
||||||
|
)
|
1
byteUtil/err_code.go
Normal file
1
byteUtil/err_code.go
Normal file
@@ -0,0 +1 @@
|
|||||||
|
package byteUtil
|
1
cryptoUtil/err_code.go
Normal file
1
cryptoUtil/err_code.go
Normal file
@@ -0,0 +1 @@
|
|||||||
|
package cryptoUtil
|
1
emojiUtil/err_code.go
Normal file
1
emojiUtil/err_code.go
Normal file
@@ -0,0 +1 @@
|
|||||||
|
package emojiUtil
|
22
errorcode.go
22
errorcode.go
@@ -1,22 +0,0 @@
|
|||||||
package go_easy_utils
|
|
||||||
|
|
||||||
import (
|
|
||||||
"errors"
|
|
||||||
"strconv"
|
|
||||||
)
|
|
||||||
|
|
||||||
// ErrSyntax indicates that a value does not have the right syntax for the target type
|
|
||||||
// 指示值不具有目标类型的正确语法
|
|
||||||
var ErrSyntax = strconv.ErrSyntax
|
|
||||||
|
|
||||||
// ErrType indicates that a value does not have the right syntax for the target type
|
|
||||||
// 指示值不具有目标类型的正确语法
|
|
||||||
var ErrType = errors.New("unsupported type")
|
|
||||||
|
|
||||||
// ErrValOut Indicates that the range corresponding to the type is exceeded
|
|
||||||
// 表示超出了类型对应的范围
|
|
||||||
var ErrValOut = errors.New("value out of range")
|
|
||||||
|
|
||||||
// ErrUnsignedInt The identity type is negative, so it cannot be converted to an unsigned integer
|
|
||||||
// 标识类型为负数,所以无法转为无符号的整型
|
|
||||||
var ErrUnsignedInt = errors.New("cannot convert negative value to unsigned integer")
|
|
1
floatUtil/err_code.go
Normal file
1
floatUtil/err_code.go
Normal file
@@ -0,0 +1 @@
|
|||||||
|
package floatUtil
|
16
jsonUtil/err_code.go
Normal file
16
jsonUtil/err_code.go
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
package jsonUtil
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"strconv"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
// ErrSyntax indicates that a value does not have the right syntax for the target type
|
||||||
|
// 指示值不具有目标类型的正确语法
|
||||||
|
ErrSyntax = strconv.ErrSyntax
|
||||||
|
|
||||||
|
// ErrType indicates that a value does not have the right syntax for the target type
|
||||||
|
// 指示值不具有目标类型的正确语法
|
||||||
|
ErrType = errors.New("unsupported type")
|
||||||
|
)
|
@@ -1,7 +1,6 @@
|
|||||||
package jsonUtil
|
package jsonUtil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jefferyjob/go-easy-utils/v2"
|
|
||||||
"reflect"
|
"reflect"
|
||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
@@ -27,7 +26,7 @@ func toFloat64(i any) (float64, error) {
|
|||||||
case string:
|
case string:
|
||||||
floatValue, err := strconv.ParseFloat(v, 64)
|
floatValue, err := strconv.ParseFloat(v, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, go_easy_utils.ErrSyntax
|
return 0, ErrSyntax
|
||||||
}
|
}
|
||||||
return floatValue, nil
|
return floatValue, nil
|
||||||
case uint:
|
case uint:
|
||||||
@@ -67,7 +66,7 @@ func toFloat64(i any) (float64, error) {
|
|||||||
//case *string:
|
//case *string:
|
||||||
// floatValue, err := strconv.ParseFloat(*v, 64)
|
// floatValue, err := strconv.ParseFloat(*v, 64)
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// return 0, go_easy_utils.ErrSyntax
|
// return 0, ErrSyntax
|
||||||
// }
|
// }
|
||||||
// return floatValue, nil
|
// return floatValue, nil
|
||||||
//case *uint:
|
//case *uint:
|
||||||
@@ -101,7 +100,7 @@ func toFloat64(i any) (float64, error) {
|
|||||||
// return 0, nil
|
// return 0, nil
|
||||||
// }
|
// }
|
||||||
default:
|
default:
|
||||||
return 0, go_easy_utils.ErrType
|
return 0, ErrType
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,7 +126,7 @@ func toFloat64Reflect(i any) (float64, error) {
|
|||||||
}
|
}
|
||||||
floatValue, err := strconv.ParseFloat(v.String(), 64)
|
floatValue, err := strconv.ParseFloat(v.String(), 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, go_easy_utils.ErrSyntax
|
return 0, ErrSyntax
|
||||||
}
|
}
|
||||||
return floatValue, nil
|
return floatValue, nil
|
||||||
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
|
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
|
||||||
@@ -145,6 +144,6 @@ func toFloat64Reflect(i any) (float64, error) {
|
|||||||
//case reflect.Ptr, reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Slice:
|
//case reflect.Ptr, reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Slice:
|
||||||
// return 0, nil
|
// return 0, nil
|
||||||
default:
|
default:
|
||||||
return 0, go_easy_utils.ErrType
|
return 0, ErrType
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package jsonUtil
|
package jsonUtil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
go_easy_utils "github.com/jefferyjob/go-easy-utils/v2"
|
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
@@ -44,8 +43,8 @@ func TestToFloat64(t *testing.T) {
|
|||||||
{true, 1, nil},
|
{true, 1, nil},
|
||||||
{false, 0, nil},
|
{false, 0, nil},
|
||||||
{(*bool)(nil), 0, nil},
|
{(*bool)(nil), 0, nil},
|
||||||
{make(chan int), 0, go_easy_utils.ErrType},
|
{make(chan int), 0, ErrType},
|
||||||
{"abc", 0, go_easy_utils.ErrSyntax},
|
{"abc", 0, ErrSyntax},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range testCases {
|
for _, tc := range testCases {
|
||||||
@@ -90,7 +89,7 @@ func TestToFloat64Pointer(t *testing.T) {
|
|||||||
name: "invalid string input",
|
name: "invalid string input",
|
||||||
input: stringPtr("abc"),
|
input: stringPtr("abc"),
|
||||||
expectedValue: 0,
|
expectedValue: 0,
|
||||||
expectedError: go_easy_utils.ErrSyntax,
|
expectedError: ErrSyntax,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "valid string input",
|
name: "valid string input",
|
||||||
@@ -186,7 +185,7 @@ func TestToFloat64Pointer(t *testing.T) {
|
|||||||
name: "unsupported input type",
|
name: "unsupported input type",
|
||||||
input: "unsupported",
|
input: "unsupported",
|
||||||
expectedValue: 0,
|
expectedValue: 0,
|
||||||
expectedError: go_easy_utils.ErrSyntax,
|
expectedError: ErrSyntax,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package jsonUtil
|
package jsonUtil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jefferyjob/go-easy-utils/v2"
|
|
||||||
"reflect"
|
"reflect"
|
||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
@@ -46,7 +45,7 @@ func toInt64(i any) (int64, error) {
|
|||||||
case string:
|
case string:
|
||||||
intValue, err := strconv.ParseInt(v, 10, 64)
|
intValue, err := strconv.ParseInt(v, 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, go_easy_utils.ErrSyntax
|
return 0, ErrSyntax
|
||||||
}
|
}
|
||||||
return intValue, nil
|
return intValue, nil
|
||||||
case int:
|
case int:
|
||||||
@@ -97,7 +96,7 @@ func toInt64(i any) (int64, error) {
|
|||||||
// }
|
// }
|
||||||
// intValue, err := strconv.ParseInt(*v, 10, 64)
|
// intValue, err := strconv.ParseInt(*v, 10, 64)
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// return 0, go_easy_utils.ErrSyntax
|
// return 0, ErrSyntax
|
||||||
// }
|
// }
|
||||||
// return intValue, nil
|
// return intValue, nil
|
||||||
//case *int:
|
//case *int:
|
||||||
@@ -111,7 +110,7 @@ func toInt64(i any) (int64, error) {
|
|||||||
//case *int64:
|
//case *int64:
|
||||||
// return *v, nil
|
// return *v, nil
|
||||||
default:
|
default:
|
||||||
return 0, go_easy_utils.ErrType
|
return 0, ErrType
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,7 +136,7 @@ func toInt64Reflect(i any) (int64, error) {
|
|||||||
}
|
}
|
||||||
intValue, err := strconv.ParseInt(v.String(), 10, 64)
|
intValue, err := strconv.ParseInt(v.String(), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, go_easy_utils.ErrSyntax
|
return 0, ErrSyntax
|
||||||
}
|
}
|
||||||
return intValue, nil
|
return intValue, nil
|
||||||
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
|
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
|
||||||
@@ -155,6 +154,6 @@ func toInt64Reflect(i any) (int64, error) {
|
|||||||
return 0, nil
|
return 0, nil
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return 0, go_easy_utils.ErrType
|
return 0, ErrType
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package jsonUtil
|
package jsonUtil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jefferyjob/go-easy-utils/v2"
|
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -31,8 +30,8 @@ func TestToInt64(t *testing.T) {
|
|||||||
{complex64(1 + 2i), 1, nil},
|
{complex64(1 + 2i), 1, nil},
|
||||||
{complex128(1 + 2i), 1, nil},
|
{complex128(1 + 2i), 1, nil},
|
||||||
{nil, 0, nil},
|
{nil, 0, nil},
|
||||||
{"not a number", 0, go_easy_utils.ErrSyntax},
|
{"not a number", 0, ErrSyntax},
|
||||||
{make(chan int), 0, go_easy_utils.ErrType},
|
{make(chan int), 0, ErrType},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package jsonUtil
|
package jsonUtil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jefferyjob/go-easy-utils/v2"
|
|
||||||
"reflect"
|
"reflect"
|
||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
@@ -43,7 +42,7 @@ func toUint64(i any) (uint64, error) {
|
|||||||
case string:
|
case string:
|
||||||
intValue, err := strconv.ParseUint(v, 10, 64)
|
intValue, err := strconv.ParseUint(v, 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, go_easy_utils.ErrSyntax
|
return 0, ErrSyntax
|
||||||
}
|
}
|
||||||
return intValue, nil
|
return intValue, nil
|
||||||
case bool:
|
case bool:
|
||||||
@@ -110,7 +109,7 @@ func toUint64(i any) (uint64, error) {
|
|||||||
//case *string:
|
//case *string:
|
||||||
// intValue, err := strconv.ParseUint(*v, 10, 64)
|
// intValue, err := strconv.ParseUint(*v, 10, 64)
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// return 0, go_easy_utils.ErrSyntax
|
// return 0, ErrSyntax
|
||||||
// }
|
// }
|
||||||
// return intValue, nil
|
// return intValue, nil
|
||||||
//case *bool:
|
//case *bool:
|
||||||
@@ -155,7 +154,7 @@ func toUint64(i any) (uint64, error) {
|
|||||||
// }
|
// }
|
||||||
// return uint64(*v), nil
|
// return uint64(*v), nil
|
||||||
default:
|
default:
|
||||||
return 0, go_easy_utils.ErrType
|
return 0, ErrType
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -199,7 +198,7 @@ func toUint64Reflect(i any) (uint64, error) {
|
|||||||
}
|
}
|
||||||
uintValue, err := strconv.ParseUint(v.String(), 10, 64)
|
uintValue, err := strconv.ParseUint(v.String(), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, go_easy_utils.ErrSyntax
|
return 0, ErrSyntax
|
||||||
}
|
}
|
||||||
return uintValue, nil
|
return uintValue, nil
|
||||||
case reflect.Bool:
|
case reflect.Bool:
|
||||||
@@ -209,6 +208,6 @@ func toUint64Reflect(i any) (uint64, error) {
|
|||||||
return 0, nil
|
return 0, nil
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return 0, go_easy_utils.ErrType
|
return 0, ErrType
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package jsonUtil
|
package jsonUtil
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jefferyjob/go-easy-utils/v2"
|
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -125,7 +124,7 @@ func TestToUint64(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "Test invalid string",
|
name: "Test invalid string",
|
||||||
input: "not a number",
|
input: "not a number",
|
||||||
wantError: go_easy_utils.ErrSyntax,
|
wantError: ErrSyntax,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Test nil pointer",
|
name: "Test nil pointer",
|
||||||
@@ -146,7 +145,7 @@ func TestToUint64(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "Test invalid type",
|
name: "Test invalid type",
|
||||||
input: make(chan int),
|
input: make(chan int),
|
||||||
wantError: go_easy_utils.ErrType,
|
wantError: ErrType,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
1
mapUtil/err_code.go
Normal file
1
mapUtil/err_code.go
Normal file
@@ -0,0 +1 @@
|
|||||||
|
package mapUtil
|
1
mathUtil/err_code.go
Normal file
1
mathUtil/err_code.go
Normal file
@@ -0,0 +1 @@
|
|||||||
|
package mathUtil
|
1
sliceUtil/err_code.go
Normal file
1
sliceUtil/err_code.go
Normal file
@@ -0,0 +1 @@
|
|||||||
|
package sliceUtil
|
1
strUtil/err_code.go
Normal file
1
strUtil/err_code.go
Normal file
@@ -0,0 +1 @@
|
|||||||
|
package strUtil
|
1
validUtil/err_code.go
Normal file
1
validUtil/err_code.go
Normal file
@@ -0,0 +1 @@
|
|||||||
|
package validUtil
|
Reference in New Issue
Block a user