package utils import ( "crypto/rand" "encoding/base64" "math/big" "strconv" "strings" ) var letterRunes = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") func RandString(length int) (string, error) { b := make([]rune, length) for i := range b { idx, err := rand.Int(rand.Reader, big.NewInt(int64(len(letterRunes)))) if err != nil { return "", err } b[i] = letterRunes[idx.Int64()] } return string(b), nil } func IsInt(str string) bool { _, err := strconv.ParseInt(str, 10, 64) return err == nil } func Base64Decode(s string) string { b, err := base64.StdEncoding.DecodeString(s) if err != nil { return "" } return string(b) } func Base64Encode(s string) string { return base64.StdEncoding.EncodeToString([]byte(s)) } func StringMax(str string, max int, suffix ...string) string { if len(str) > max { return str[:max] + strings.Join(suffix, "") } return str }