golang辅助方法

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
}
无标签
评论区
头像
    头像
    dwsokconsd
      

    建议增加田野调查素材,提升真实性。

    头像
    odaajrdlwv
      

    文章中的实用建议和操作指南,让读者受益匪浅,值得珍藏。

    头像
    xxkdjhzlxo
      

    《一命》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/6737.html