common.go
1.1 KB
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
package common
import (
"bytes"
"fmt"
"encoding/json"
"math/rand"
)
// Must panics if err is not nil.
func Must(err error) {
if err != nil {
panic(err)
}
}
// Must2 panics if the second parameter is not nil, otherwise returns the first parameter.
func Must2(v interface{}, err error) interface{} {
Must(err)
return v
}
// Error2 returns the err from the 2nd parameter.
func Error2(v interface{}, err error) error {
return err
}
func LogF(format string,args interface{})string{
return fmt.Sprintf(format,args)
}
func AssertJson(object interface{})string{
json,err :=json.Marshal(object)
if err!=nil{
return ""
}
return string(json)
}
var randomChars = "ABCDEFGHJKMNPQRSTWXYZabcdefhjkmnprstwxyz2345678" /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
func RandomString(l int)string{
return RandomStringWithChars(l,randomChars)
}
func RandomStringWithChars(l int,chars string)string{
if l<=0{
return ""
}
if len(chars)==0{
return ""
}
lenChars :=len(chars) -1
rsp :=bytes.NewBuffer(nil)
for i:=0;i<l;i++{
rsp.WriteByte(chars[rand.Intn(lenChars)])
}
return rsp.String()
}