package uniqueid import ( "fmt" "math/rand" "time" "github.com/google/uuid" ) func GenerateId() string { uuidV1, err := uuid.NewUUID() if err != nil { panic(err) } return uuidV1.String() } // GenerateRadioUsername 生成具有电台氛围的用户名称 func GenerateRadioUsername() string { // 1. 文艺词库 adjectives := []string{"虚构", "私奔", "落日", "低空", "巡航", "无声", "迷失", "告白", "极光", "霓虹"} nouns := []string{"调频", "电波", "磁带", "频率", "回声", "岛屿", "信箱", "航站", "独白", "碎片"} // 2. 初始化随机种子 (使用纳秒级时间戳) r := rand.New(rand.NewSource(time.Now().UnixNano())) // 3. 随机抽取词库 adj := adjectives[r.Intn(len(adjectives))] noun := nouns[r.Intn(len(nouns))] // 4. 获取当前时间的微秒/纳秒部分作为“身份码” // 取纳秒的最后5位,既能体现随机性,又不会像日期那样冗长 timeSuffix := time.Now().UnixNano() % 100000 // 5. 混合生成:采用不同的模板增加随机感 templates := []string{ "%s%s_%05d", // 如:落日电波_12345 "Hz.%d-%s%s", // 如:Hz.67890-虚构独白 "%s%s-%d-FM", // 如:迷失频率-54321-FM } selectedTemplate := templates[r.Intn(len(templates))] return fmt.Sprintf(selectedTemplate, adj, noun, timeSuffix) }