| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package common
- import (
- "encoding/base64"
- "encoding/json"
- "math/rand"
- "strconv"
- "unsafe"
- )
- func GetStringIfEmpty(str string, defaultValue string) string {
- if str == "" {
- return defaultValue
- }
- return str
- }
- func GetRandomString(length int) string {
- //rand.Seed(time.Now().UnixNano())
- key := make([]byte, length)
- for i := 0; i < length; i++ {
- key[i] = keyChars[rand.Intn(len(keyChars))]
- }
- return string(key)
- }
- func MapToJsonStr(m map[string]interface{}) string {
- bytes, err := json.Marshal(m)
- if err != nil {
- return ""
- }
- return string(bytes)
- }
- func StrToMap(str string) (map[string]interface{}, error) {
- m := make(map[string]interface{})
- err := Unmarshal([]byte(str), &m)
- if err != nil {
- return nil, err
- }
- return m, nil
- }
- func StrToJsonArray(str string) ([]interface{}, error) {
- var js []interface{}
- err := json.Unmarshal([]byte(str), &js)
- if err != nil {
- return nil, err
- }
- return js, nil
- }
- func IsJsonArray(str string) bool {
- var js []interface{}
- return json.Unmarshal([]byte(str), &js) == nil
- }
- func IsJsonObject(str string) bool {
- var js map[string]interface{}
- return json.Unmarshal([]byte(str), &js) == nil
- }
- func String2Int(str string) int {
- num, err := strconv.Atoi(str)
- if err != nil {
- return 0
- }
- return num
- }
- func StringsContains(strs []string, str string) bool {
- for _, s := range strs {
- if s == str {
- return true
- }
- }
- return false
- }
- // StringToByteSlice []byte only read, panic on append
- func StringToByteSlice(s string) []byte {
- tmp1 := (*[2]uintptr)(unsafe.Pointer(&s))
- tmp2 := [3]uintptr{tmp1[0], tmp1[1], tmp1[1]}
- return *(*[]byte)(unsafe.Pointer(&tmp2))
- }
- func EncodeBase64(str string) string {
- return base64.StdEncoding.EncodeToString([]byte(str))
- }
- func GetJsonString(data any) string {
- if data == nil {
- return ""
- }
- b, _ := json.Marshal(data)
- return string(b)
- }
|