-
Notifications
You must be signed in to change notification settings - Fork 1
/
number_must.go
139 lines (128 loc) · 3.94 KB
/
number_must.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
package convert
// 强制转换为int,失败则panic
// string会按顺序尝试将数据解析为int64\uint64\float64\bool,然后再转换为int
// float会抹去小数
// uint8~64、int8~64都会做默认的转换
// bool类型的数据,true-1;false-0
func MustInt(value interface{}) (res int) {
if res, err := ToInt(value); err == nil {
return res
} else {
panic(err)
}
}
// 强制转换为int8,失败则panic
// string会按顺序尝试将数据解析为int64\uint64\float64\bool,然后再转换为int8
// float会抹去小数
// uint8~64、int8~64都会做默认的转换
// bool类型的数据,true-1;false-0
func MustInt8(value interface{}) (res int8) {
if res, err := ToInt8(value); err == nil {
return res
} else {
panic(err)
}
}
// 强制转换为int16,失败则panic
// string会按顺序尝试将数据解析为int64\uint64\float64\bool,然后再转换为int16
// float会抹去小数
// uint8~64、int8~64都会做默认的转换
// bool类型的数据,true-1;false-0
func MustInt16(value interface{}) (res int16) {
if res, err := ToInt16(value); err == nil {
return res
} else {
panic(err)
}
}
// 强制转换为int32,失败则panic
// string会按顺序尝试将数据解析为int64\uint64\float64\bool,然后再转换为int32
// float会抹去小数
// uint8~64、int8~64都会做默认的转换
// bool类型的数据,true-1;false-0
func MustInt32(value interface{}) (res int32) {
if res, err := ToInt32(value); err == nil {
return res
} else {
panic(err)
}
}
// 强制转换为int64,失败则panic
// string会按顺序尝试将数据解析为int64\uint64\float64\bool,然后再转换为int64
// float会抹去小数
// uint8~64、int8~64都会做默认的转换
// bool类型的数据,true-1;false-0
func MustInt64(value interface{}) (res int64) {
if res, err := ToInt64(value); err == nil {
return res
} else {
panic(err)
}
}
// 强制转换为uint,失败则panic
// string会按顺序尝试将数据解析为int64\uint64\float64\bool,然后再转换为uint;空字符串会转化为0.
// float会抹去小数
// uint8~64、int8~64都会做默认的转换
// bool类型的数据,true-1;false-0
func MustUint(value interface{}) (res uint) {
if res, err := ToUint(value); err == nil {
return res
} else {
panic(err)
}
}
// 强制转换为uint8,失败则panic
// string会按顺序尝试将数据解析为int64\uint64\float64\bool,然后再转换为uint8
// float会抹去小数
// uint8~64、int8~64都会做默认的转换
// bool类型的数据,true-1;false-0
func MustUint8(value interface{}) (res uint8) {
if res, err := ToUint8(value); err == nil {
return res
} else {
panic(err)
}
}
// 强制转换为uint16,失败则panic
// string会按顺序尝试将数据解析为int64\uint64\float64\bool,然后再转换为uint16
// float会抹去小数
// uint8~64、int8~64都会做默认的转换
// bool类型的数据,true-1;false-0
func MustUint16(value interface{}) (res uint16) {
if res, err := ToUint16(value); err == nil {
return res
} else {
panic(err)
}
}
// 强制转换为uint32,失败则panic
// string会按顺序尝试将数据解析为int64\uint64\float64\bool,然后再转换为uint32
// float会抹去小数
// uint8~64、int8~64都会做默认的转换
// bool类型的数据,true-1;false-0
func MustUint32(value interface{}) (res uint32) {
if res, err := ToUint32(value); err == nil {
return res
} else {
panic(err)
}
}
// 强制转换为uint64,失败则panic
// string会按顺序尝试将数据解析为int64\uint64\float64\bool,然后再转换为uint64
// float会抹去小数
// uint8~64、int8~64都会做默认的转换
// bool类型的数据,true-1;false-0
func MustUint64(value interface{}) (res uint64) {
if res, err := ToUint64(value); err == nil {
return res
} else {
panic(err)
}
}
func MustFloat64(value interface{}) (res float64) {
if res, err := ToFloat64(value); err == nil {
return res
} else {
panic(err)
}
}