package utils import ( "encoding/json" "fmt" "math/rand" "strings" "time" ) const letterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" const ( letterIdxBits = 6 // 6 bits to represent a letter index letterIdxMask = 1<= 0; { if remain == 0 { cache, remain = src.Int63(), letterIdxMax } if idx := int(cache & letterIdxMask); idx < len(letterBytes) { sb.WriteByte(letterBytes[idx]) i-- } cache >>= letterIdxBits remain-- } return sb.String() } func RandInt(s int, e int) int { var integer int for { integer = rand.Intn(e) if integer > s { break } } return integer } func PrettyPrintJSON(s interface{}) { switch v := s.(type) { case string: var j map[string]interface{} if err := json.Unmarshal([]byte(v), &j); err != nil { panic(err) } jsonString, err := json.Marshal(j) if err != nil { panic(err) } fmt.Println(string(jsonString)) default: jsonString, err := json.MarshalIndent(s, "", " ") if err != nil { panic(err) } fmt.Println(string(jsonString)) } }