32 lines
693 B
Go
32 lines
693 B
Go
package l_short_utl_request
|
|
|
|
import (
|
|
"encoding/json"
|
|
"math/rand/v2"
|
|
)
|
|
|
|
// 纯小写字母
|
|
func GenerateRandomLowerString(n int) string {
|
|
return GenerateRandomStringCustom(n, "abcdefghijklmnopqrstuvwxyz")
|
|
}
|
|
|
|
// GenerateRandomStringCustom 使用自定义字符集
|
|
func GenerateRandomStringCustom(n int, charset string) string {
|
|
result := make([]byte, n)
|
|
for i := range result {
|
|
result[i] = charset[rand.IntN(len(charset))]
|
|
}
|
|
return string(result)
|
|
}
|
|
|
|
// StructToMap 将结构体转换为 map[string]any
|
|
func StructToMap(v any) (map[string]any, error) {
|
|
b, err := json.Marshal(v)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
var m map[string]any
|
|
err = json.Unmarshal(b, &m)
|
|
return m, err
|
|
}
|