-
Notifications
You must be signed in to change notification settings - Fork 1
/
pointer.go
132 lines (107 loc) · 2.58 KB
/
pointer.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
package polytomic
import (
"time"
"github.com/google/uuid"
)
// Bool returns a pointer to the given bool value.
func Bool(b bool) *bool {
return &b
}
// Byte returns a pointer to the given byte value.
func Byte(b byte) *byte {
return &b
}
// Complex64 returns a pointer to the given complex64 value.
func Complex64(c complex64) *complex64 {
return &c
}
// Complex128 returns a pointer to the given complex128 value.
func Complex128(c complex128) *complex128 {
return &c
}
// Float32 returns a pointer to the given float32 value.
func Float32(f float32) *float32 {
return &f
}
// Float64 returns a pointer to the given float64 value.
func Float64(f float64) *float64 {
return &f
}
// Int returns a pointer to the given int value.
func Int(i int) *int {
return &i
}
// Int8 returns a pointer to the given int8 value.
func Int8(i int8) *int8 {
return &i
}
// Int16 returns a pointer to the given int16 value.
func Int16(i int16) *int16 {
return &i
}
// Int32 returns a pointer to the given int32 value.
func Int32(i int32) *int32 {
return &i
}
// Int64 returns a pointer to the given int64 value.
func Int64(i int64) *int64 {
return &i
}
// Rune returns a pointer to the given rune value.
func Rune(r rune) *rune {
return &r
}
// String returns a pointer to the given string value.
func String(s string) *string {
return &s
}
// Uint returns a pointer to the given uint value.
func Uint(u uint) *uint {
return &u
}
// Uint8 returns a pointer to the given uint8 value.
func Uint8(u uint8) *uint8 {
return &u
}
// Uint16 returns a pointer to the given uint16 value.
func Uint16(u uint16) *uint16 {
return &u
}
// Uint32 returns a pointer to the given uint32 value.
func Uint32(u uint32) *uint32 {
return &u
}
// Uint64 returns a pointer to the given uint64 value.
func Uint64(u uint64) *uint64 {
return &u
}
// Uintptr returns a pointer to the given uintptr value.
func Uintptr(u uintptr) *uintptr {
return &u
}
// UUID returns a pointer to the given uuid.UUID value.
func UUID(u uuid.UUID) *uuid.UUID {
return &u
}
// Time returns a pointer to the given time.Time value.
func Time(t time.Time) *time.Time {
return &t
}
// MustParseDate attempts to parse the given string as a
// date time.Time, and panics upon failure.
func MustParseDate(date string) time.Time {
t, err := time.Parse("2006-01-02", date)
if err != nil {
panic(err)
}
return t
}
// MustParseDateTime attempts to parse the given string as a
// datetime time.Time, and panics upon failure.
func MustParseDateTime(datetime string) time.Time {
t, err := time.Parse(time.RFC3339, datetime)
if err != nil {
panic(err)
}
return t
}