1
2 package ptr
3
4 import (
5 "time"
6 )
7
8
9 func Bool(v bool) *bool {
10 return &v
11 }
12
13
14
15 func BoolSlice(vs []bool) []*bool {
16 ps := make([]*bool, len(vs))
17 for i, v := range vs {
18 vv := v
19 ps[i] = &vv
20 }
21
22 return ps
23 }
24
25
26
27 func BoolMap(vs map[string]bool) map[string]*bool {
28 ps := make(map[string]*bool, len(vs))
29 for k, v := range vs {
30 vv := v
31 ps[k] = &vv
32 }
33
34 return ps
35 }
36
37
38 func Byte(v byte) *byte {
39 return &v
40 }
41
42
43
44 func ByteSlice(vs []byte) []*byte {
45 ps := make([]*byte, len(vs))
46 for i, v := range vs {
47 vv := v
48 ps[i] = &vv
49 }
50
51 return ps
52 }
53
54
55
56 func ByteMap(vs map[string]byte) map[string]*byte {
57 ps := make(map[string]*byte, len(vs))
58 for k, v := range vs {
59 vv := v
60 ps[k] = &vv
61 }
62
63 return ps
64 }
65
66
67 func String(v string) *string {
68 return &v
69 }
70
71
72
73 func StringSlice(vs []string) []*string {
74 ps := make([]*string, len(vs))
75 for i, v := range vs {
76 vv := v
77 ps[i] = &vv
78 }
79
80 return ps
81 }
82
83
84
85 func StringMap(vs map[string]string) map[string]*string {
86 ps := make(map[string]*string, len(vs))
87 for k, v := range vs {
88 vv := v
89 ps[k] = &vv
90 }
91
92 return ps
93 }
94
95
96 func Int(v int) *int {
97 return &v
98 }
99
100
101
102 func IntSlice(vs []int) []*int {
103 ps := make([]*int, len(vs))
104 for i, v := range vs {
105 vv := v
106 ps[i] = &vv
107 }
108
109 return ps
110 }
111
112
113
114 func IntMap(vs map[string]int) map[string]*int {
115 ps := make(map[string]*int, len(vs))
116 for k, v := range vs {
117 vv := v
118 ps[k] = &vv
119 }
120
121 return ps
122 }
123
124
125 func Int8(v int8) *int8 {
126 return &v
127 }
128
129
130
131 func Int8Slice(vs []int8) []*int8 {
132 ps := make([]*int8, len(vs))
133 for i, v := range vs {
134 vv := v
135 ps[i] = &vv
136 }
137
138 return ps
139 }
140
141
142
143 func Int8Map(vs map[string]int8) map[string]*int8 {
144 ps := make(map[string]*int8, len(vs))
145 for k, v := range vs {
146 vv := v
147 ps[k] = &vv
148 }
149
150 return ps
151 }
152
153
154 func Int16(v int16) *int16 {
155 return &v
156 }
157
158
159
160 func Int16Slice(vs []int16) []*int16 {
161 ps := make([]*int16, len(vs))
162 for i, v := range vs {
163 vv := v
164 ps[i] = &vv
165 }
166
167 return ps
168 }
169
170
171
172 func Int16Map(vs map[string]int16) map[string]*int16 {
173 ps := make(map[string]*int16, len(vs))
174 for k, v := range vs {
175 vv := v
176 ps[k] = &vv
177 }
178
179 return ps
180 }
181
182
183 func Int32(v int32) *int32 {
184 return &v
185 }
186
187
188
189 func Int32Slice(vs []int32) []*int32 {
190 ps := make([]*int32, len(vs))
191 for i, v := range vs {
192 vv := v
193 ps[i] = &vv
194 }
195
196 return ps
197 }
198
199
200
201 func Int32Map(vs map[string]int32) map[string]*int32 {
202 ps := make(map[string]*int32, len(vs))
203 for k, v := range vs {
204 vv := v
205 ps[k] = &vv
206 }
207
208 return ps
209 }
210
211
212 func Int64(v int64) *int64 {
213 return &v
214 }
215
216
217
218 func Int64Slice(vs []int64) []*int64 {
219 ps := make([]*int64, len(vs))
220 for i, v := range vs {
221 vv := v
222 ps[i] = &vv
223 }
224
225 return ps
226 }
227
228
229
230 func Int64Map(vs map[string]int64) map[string]*int64 {
231 ps := make(map[string]*int64, len(vs))
232 for k, v := range vs {
233 vv := v
234 ps[k] = &vv
235 }
236
237 return ps
238 }
239
240
241 func Uint(v uint) *uint {
242 return &v
243 }
244
245
246
247 func UintSlice(vs []uint) []*uint {
248 ps := make([]*uint, len(vs))
249 for i, v := range vs {
250 vv := v
251 ps[i] = &vv
252 }
253
254 return ps
255 }
256
257
258
259 func UintMap(vs map[string]uint) map[string]*uint {
260 ps := make(map[string]*uint, len(vs))
261 for k, v := range vs {
262 vv := v
263 ps[k] = &vv
264 }
265
266 return ps
267 }
268
269
270 func Uint8(v uint8) *uint8 {
271 return &v
272 }
273
274
275
276 func Uint8Slice(vs []uint8) []*uint8 {
277 ps := make([]*uint8, len(vs))
278 for i, v := range vs {
279 vv := v
280 ps[i] = &vv
281 }
282
283 return ps
284 }
285
286
287
288 func Uint8Map(vs map[string]uint8) map[string]*uint8 {
289 ps := make(map[string]*uint8, len(vs))
290 for k, v := range vs {
291 vv := v
292 ps[k] = &vv
293 }
294
295 return ps
296 }
297
298
299 func Uint16(v uint16) *uint16 {
300 return &v
301 }
302
303
304
305 func Uint16Slice(vs []uint16) []*uint16 {
306 ps := make([]*uint16, len(vs))
307 for i, v := range vs {
308 vv := v
309 ps[i] = &vv
310 }
311
312 return ps
313 }
314
315
316
317 func Uint16Map(vs map[string]uint16) map[string]*uint16 {
318 ps := make(map[string]*uint16, len(vs))
319 for k, v := range vs {
320 vv := v
321 ps[k] = &vv
322 }
323
324 return ps
325 }
326
327
328 func Uint32(v uint32) *uint32 {
329 return &v
330 }
331
332
333
334 func Uint32Slice(vs []uint32) []*uint32 {
335 ps := make([]*uint32, len(vs))
336 for i, v := range vs {
337 vv := v
338 ps[i] = &vv
339 }
340
341 return ps
342 }
343
344
345
346 func Uint32Map(vs map[string]uint32) map[string]*uint32 {
347 ps := make(map[string]*uint32, len(vs))
348 for k, v := range vs {
349 vv := v
350 ps[k] = &vv
351 }
352
353 return ps
354 }
355
356
357 func Uint64(v uint64) *uint64 {
358 return &v
359 }
360
361
362
363 func Uint64Slice(vs []uint64) []*uint64 {
364 ps := make([]*uint64, len(vs))
365 for i, v := range vs {
366 vv := v
367 ps[i] = &vv
368 }
369
370 return ps
371 }
372
373
374
375 func Uint64Map(vs map[string]uint64) map[string]*uint64 {
376 ps := make(map[string]*uint64, len(vs))
377 for k, v := range vs {
378 vv := v
379 ps[k] = &vv
380 }
381
382 return ps
383 }
384
385
386 func Float32(v float32) *float32 {
387 return &v
388 }
389
390
391
392 func Float32Slice(vs []float32) []*float32 {
393 ps := make([]*float32, len(vs))
394 for i, v := range vs {
395 vv := v
396 ps[i] = &vv
397 }
398
399 return ps
400 }
401
402
403
404 func Float32Map(vs map[string]float32) map[string]*float32 {
405 ps := make(map[string]*float32, len(vs))
406 for k, v := range vs {
407 vv := v
408 ps[k] = &vv
409 }
410
411 return ps
412 }
413
414
415 func Float64(v float64) *float64 {
416 return &v
417 }
418
419
420
421 func Float64Slice(vs []float64) []*float64 {
422 ps := make([]*float64, len(vs))
423 for i, v := range vs {
424 vv := v
425 ps[i] = &vv
426 }
427
428 return ps
429 }
430
431
432
433 func Float64Map(vs map[string]float64) map[string]*float64 {
434 ps := make(map[string]*float64, len(vs))
435 for k, v := range vs {
436 vv := v
437 ps[k] = &vv
438 }
439
440 return ps
441 }
442
443
444 func Time(v time.Time) *time.Time {
445 return &v
446 }
447
448
449
450 func TimeSlice(vs []time.Time) []*time.Time {
451 ps := make([]*time.Time, len(vs))
452 for i, v := range vs {
453 vv := v
454 ps[i] = &vv
455 }
456
457 return ps
458 }
459
460
461
462 func TimeMap(vs map[string]time.Time) map[string]*time.Time {
463 ps := make(map[string]*time.Time, len(vs))
464 for k, v := range vs {
465 vv := v
466 ps[k] = &vv
467 }
468
469 return ps
470 }
471
472
473 func Duration(v time.Duration) *time.Duration {
474 return &v
475 }
476
477
478
479 func DurationSlice(vs []time.Duration) []*time.Duration {
480 ps := make([]*time.Duration, len(vs))
481 for i, v := range vs {
482 vv := v
483 ps[i] = &vv
484 }
485
486 return ps
487 }
488
489
490
491 func DurationMap(vs map[string]time.Duration) map[string]*time.Duration {
492 ps := make(map[string]*time.Duration, len(vs))
493 for k, v := range vs {
494 vv := v
495 ps[k] = &vv
496 }
497
498 return ps
499 }
500
View as plain text