@@ -18,6 +18,8 @@ func StringToInt(a interface{}) (interface{}, error) {
18
18
if av , ok := a .(string ); ok {
19
19
if ai , err := strconv .Atoi (av ); err == nil {
20
20
return ai , nil
21
+ } else {
22
+ return 0 , ErrConvertFailed
21
23
}
22
24
}
23
25
return 0 , ErrTypeNotMatch
@@ -27,21 +29,28 @@ func StringToStringSlice(a interface{}) (interface{}, error) {
27
29
if av , ok := a .(string ); ok {
28
30
return strings .Split (av , "," ), nil
29
31
}
30
- return a , ErrTypeNotMatch
32
+ return [] string {} , ErrTypeNotMatch
31
33
}
32
34
33
35
func StringToIntSlice (a interface {}) (interface {}, error ) {
36
+ bv := []int {}
34
37
a , err := StringToStringSlice (a )
35
38
if err != nil {
36
- return a , err
39
+ return bv , err
37
40
}
38
- bv := []int {}
39
41
for _ , row := range a .([]string ) {
40
42
rowInt , err := strconv .Atoi (row )
41
43
if err != nil {
42
- return a , ErrConvertFailed
44
+ return bv , ErrConvertFailed
43
45
}
44
46
bv = append (bv , rowInt )
45
47
}
46
48
return bv , nil
47
49
}
50
+
51
+ func Int64ToInt (a interface {}) (interface {}, error ) {
52
+ if aInt64 , ok := a .(int64 ); ok {
53
+ return int (aInt64 ), nil
54
+ }
55
+ return 0 , ErrTypeNotMatch
56
+ }
0 commit comments