dashboard-v2/utils/stringutils.go
2022-08-30 14:42:23 +01:00

44 lines
791 B
Go

package utils
import (
"encoding/base64"
"math/rand"
"strconv"
"strings"
)
var letterRunes = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
func RandString(length int) string {
b := make([]rune, length)
for i := range b {
b[i] = letterRunes[rand.Intn(len(letterRunes))]
}
return string(b)
}
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
}