package helpers
import (
"math/rand"
"time"
"os"
"path/filepath"
)
// GenerateRandomString 使用 math/rand 生成指定长度的随机字符串
func GenerateRandomString(length int) string {
const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
source := rand.NewSource(time.Now().UnixNano()) // 创建一个新的随机数源
r := rand.New(source) // 使用这个源创建一个新的随机数生成器
result := make([]byte, length)
for i := range result {
result[i] = charset[r.Intn(len(charset))] // 使用新的随机数生成器 r 从 charset 中随机选择字符
}
return string(result)
}
// 获取应用数据目录
func GetUserDataDir(appName string) string {
// 获取用户主目录
homeDir, _ := os.UserHomeDir()
// 定义应用的数据目录(根据需要调整路径)
appDataDir := filepath.Join(homeDir, "AppData", "Roaming", appName) // Windows 示例
if runtime.GOOS == "darwin" {
appDataDir = filepath.Join(homeDir, "Library", "Application Support", appName)
}
// fmt.Println("appDataDir:", appDataDir)
log.Info("appDataDir:", appDataDir)
// 如果目录不存在,则创建
if _, err := os.Stat(appDataDir); os.IsNotExist(err) {
os.MkdirAll(appDataDir, 0755)
}
return appDataDir
}
无标签
评论区
建议增加田野调查素材,提升真实性。
文章中的实用建议和操作指南,让读者受益匪浅,值得珍藏。
《一命》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/6737.html