/
string.go
242 lines (212 loc) · 5.85 KB
/
string.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
package ameda
import (
"strconv"
)
// StringToInterface converts string to interface.
func StringToInterface(v string) interface{} {
return v
}
// StringToInterfacePtr converts string to *interface.
func StringToInterfacePtr(v string) *interface{} {
r := StringToInterface(v)
return &r
}
// StringToStringPtr converts string to *string.
func StringToStringPtr(v string) *string {
return &v
}
// StringToBool converts string to bool.
func StringToBool(v string, emptyAsFalse ...bool) (bool, error) {
r, err := strconv.ParseBool(v)
if err != nil {
if !isEmptyAsZero(emptyAsFalse) {
return false, err
}
}
return r, nil
}
// StringToBoolPtr converts string to *bool.
func StringToBoolPtr(v string, emptyAsFalse ...bool) (*bool, error) {
r, err := StringToBool(v, emptyAsFalse...)
return &r, err
}
// StringToFloat32 converts string to float32.
func StringToFloat32(v string, emptyAsZero ...bool) (float32, error) {
i, err := strconv.ParseFloat(v, 32)
if err != nil {
if !isEmptyAsZero(emptyAsZero) {
return 0, err
}
}
return float32(i), nil
}
// StringToFloat32Ptr converts string to *float32.
func StringToFloat32Ptr(v string, emptyAsZero ...bool) (*float32, error) {
r, err := StringToFloat32(v, emptyAsZero...)
return &r, err
}
// StringToFloat64 converts string to float64.
func StringToFloat64(v string, emptyAsZero ...bool) (float64, error) {
i, err := strconv.ParseFloat(v, 64)
if err != nil {
if !isEmptyAsZero(emptyAsZero) {
return 0, err
}
}
return i, nil
}
// StringToFloat64Ptr converts string to *float64.
func StringToFloat64Ptr(v string, emptyAsZero ...bool) (*float64, error) {
r, err := StringToFloat64(v, emptyAsZero...)
return &r, err
}
// StringToInt converts string to int.
func StringToInt(v string, emptyAsZero ...bool) (int, error) {
i, err := strconv.Atoi(v)
if err != nil {
if !isEmptyAsZero(emptyAsZero) {
return 0, err
}
}
return i, nil
}
// StringToIntPtr converts string to *int.
func StringToIntPtr(v string, emptyAsZero ...bool) (*int, error) {
r, err := StringToInt(v, emptyAsZero...)
return &r, err
}
// StringToInt8 converts string to int8.
func StringToInt8(v string, emptyAsZero ...bool) (int8, error) {
i, err := strconv.ParseInt(v, 10, 8)
if err != nil {
if !isEmptyAsZero(emptyAsZero) {
return 0, err
}
}
return int8(i), nil
}
// StringToInt8Ptr converts string to *int8.
func StringToInt8Ptr(v string, emptyAsZero ...bool) (*int8, error) {
r, err := StringToInt8(v, emptyAsZero...)
return &r, err
}
// StringToInt16 converts string to int16.
func StringToInt16(v string, emptyAsZero ...bool) (int16, error) {
i, err := strconv.ParseInt(v, 10, 16)
if err != nil {
if !isEmptyAsZero(emptyAsZero) {
return 0, err
}
}
return int16(i), nil
}
// StringToInt16Ptr converts string to *int16.
func StringToInt16Ptr(v string, emptyAsZero ...bool) (*int16, error) {
r, err := StringToInt16(v, emptyAsZero...)
return &r, err
}
// StringToInt32 converts string to int32.
func StringToInt32(v string, emptyAsZero ...bool) (int32, error) {
i, err := strconv.ParseInt(v, 10, 32)
if err != nil {
if !isEmptyAsZero(emptyAsZero) {
return 0, err
}
}
return int32(i), nil
}
// StringToInt32Ptr converts string to *int32.
func StringToInt32Ptr(v string, emptyAsZero ...bool) (*int32, error) {
r, err := StringToInt32(v, emptyAsZero...)
return &r, err
}
// StringToInt64 converts string to int64.
func StringToInt64(v string, emptyAsZero ...bool) (int64, error) {
i, err := strconv.ParseInt(v, 10, 64)
if err != nil {
if !isEmptyAsZero(emptyAsZero) {
return 0, err
}
}
return i, nil
}
// StringToInt64Ptr converts string to *int64.
func StringToInt64Ptr(v string, emptyAsZero ...bool) (*int64, error) {
r, err := StringToInt64(v, emptyAsZero...)
return &r, err
}
// StringToUint converts string to uint.
func StringToUint(v string, emptyAsZero ...bool) (uint, error) {
u, err := strconv.ParseUint(v, 10, strconv.IntSize)
if err != nil {
if !isEmptyAsZero(emptyAsZero) {
return 0, err
}
}
return uint(u), nil
}
// StringToUintPtr converts string to *uint.
func StringToUintPtr(v string, emptyAsZero ...bool) (*uint, error) {
r, err := StringToUint(v, emptyAsZero...)
return &r, err
}
// StringToUint8 converts string to uint8.
func StringToUint8(v string, emptyAsZero ...bool) (uint8, error) {
u, err := strconv.ParseUint(v, 10, 8)
if err != nil {
if !isEmptyAsZero(emptyAsZero) {
return 0, err
}
}
return uint8(u), nil
}
// StringToUint8Ptr converts string to *uint8.
func StringToUint8Ptr(v string, emptyAsZero ...bool) (*uint8, error) {
r, err := StringToUint8(v, emptyAsZero...)
return &r, err
}
// StringToUint16 converts string to uint16.
func StringToUint16(v string, emptyAsZero ...bool) (uint16, error) {
u, err := strconv.ParseUint(v, 10, 16)
if err != nil {
if !isEmptyAsZero(emptyAsZero) {
return 0, err
}
}
return uint16(u), nil
}
// StringToUint16Ptr converts string to *uint16.
func StringToUint16Ptr(v string, emptyAsZero ...bool) (*uint16, error) {
r, err := StringToUint16(v, emptyAsZero...)
return &r, err
}
// StringToUint32 converts string to uint32.
func StringToUint32(v string, emptyAsZero ...bool) (uint32, error) {
u, err := strconv.ParseUint(v, 10, 32)
if err != nil {
if !isEmptyAsZero(emptyAsZero) {
return 0, err
}
}
return uint32(u), nil
}
// StringToUint32Ptr converts string to *uint32.
func StringToUint32Ptr(v string, emptyAsZero ...bool) (*uint32, error) {
r, err := StringToUint32(v, emptyAsZero...)
return &r, err
}
// StringToUint64 converts string to uint64.
func StringToUint64(v string, emptyAsZero ...bool) (uint64, error) {
u, err := strconv.ParseUint(v, 10, 64)
if err != nil {
if !isEmptyAsZero(emptyAsZero) {
return 0, err
}
}
return u, nil
}
// StringToUint64Ptr converts string to *uint64.
func StringToUint64Ptr(v string, emptyAsZero ...bool) (*uint64, error) {
r, err := StringToUint64(v, emptyAsZero...)
return &r, err
}