-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathiris_html_cf.go
153 lines (133 loc) · 3.34 KB
/
iris_html_cf.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
package cf
// IRIS模板函数
import (
"errors"
"html/template"
"strconv"
"strings"
"github.com/jianka/cf/cast"
)
// 字符串转html语言
func Str2html(s string) template.HTML {
str := template.HTML(s)
return str
}
// 参数解析 uint64
func GetUint64(name string, value map[string][]string) (uint64, error) {
if v := value[name]; len(v) > 0 {
n, err := strconv.ParseUint(v[0], 10, 64)
return n, err
}
return 0, errors.New("参数不存在")
}
// 参数解析 int64
func GetInt64(name string, value map[string][]string) (int64, error) {
if v := value[name]; len(v) > 0 {
n, err := strconv.ParseInt(v[0], 10, 64)
return n, err
}
return 0, errors.New("参数不存在")
}
// 参数解析 uint32
func GetUint32(name string, value map[string][]string) (uint32, error) {
if v := value[name]; len(v) > 0 {
n, err := strconv.ParseUint(v[0], 10, 32)
return uint32(n), err
}
return 0, errors.New("参数不存在")
}
// 参数解析 int32
func GetInt32(name string, value map[string][]string) (int32, error) {
if v := value[name]; len(v) > 0 {
n, err := strconv.ParseInt(v[0], 10, 32)
return int32(n), err
}
return 0, errors.New("参数不存在")
}
// 参数解析 uint
func GetUint(name string, value map[string][]string) (uint, error) {
if v := value[name]; len(v) > 0 {
n, err := strconv.ParseUint(v[0], 10, 32)
return uint(n), err
}
return 0, errors.New("参数不存在")
}
// 参数解析 int
func GetInt(name string, value map[string][]string) (int, error) {
if v := value[name]; len(v) > 0 {
n, err := strconv.ParseInt(v[0], 10, 32)
return int(n), err
}
return 0, errors.New("参数不存在")
}
// 参数解析 uint8
func GetUint8(name string, value map[string][]string) (uint8, error) {
if v := value[name]; len(v) > 0 {
n, err := strconv.ParseUint(v[0], 10, 32)
return uint8(n), err
}
return 0, errors.New("参数不存在")
}
// 参数解析 int8
func GetInt8(name string, value map[string][]string) (int8, error) {
if v := value[name]; len(v) > 0 {
n, err := strconv.ParseInt(v[0], 10, 32)
return int8(n), err
}
return 0, errors.New("参数不存在")
}
// 参数解析 字符串
func GetStr(name string, value map[string][]string) string {
if v := value[name]; len(v) > 0 {
return v[0]
}
return ""
}
// 参数解析 切片 uint64
func GetStrSliceInt(name string, value map[string][]string) []uint64 {
var slice []uint64
for k, v := range value {
if strings.Contains(k, name+"[") {
slice = append(slice, cast.ToUint64(v[0]))
}
}
return slice
}
// 参数解析 切片 字符串型
func GetStrSliceStr(name string, value map[string][]string) []string {
var slice []string
for k, v := range value {
if strings.Contains(k, name+"[") {
slice = append(slice, v[0])
}
}
return slice
}
// 宽松的比较
func Compare(a interface{}, b interface{}) bool {
aInt := cast.ToInt64(a)
bInt := cast.ToInt64(b)
return aInt == bInt
}
// 不等于
func Neq(a interface{}, b interface{}) bool {
aInt := cast.ToInt64(a)
bInt := cast.ToInt64(b)
return !(aInt == bInt)
}
// 比较字符串
func EqStr(a interface{}, b interface{}) bool {
aInt := cast.ToString(a)
bInt := cast.ToString(b)
return aInt == bInt
}
// 大于
func Gt(a interface{}, b interface{}) bool {
aInt := cast.ToInt64(a)
bInt := cast.ToInt64(b)
return aInt > bInt
}
// bool值判断
func EqBool(a interface{}) bool {
return cast.ToBool(a)
}