package main import ( "fmt" "math/rand" "time" ) // RandInt // @description 生成一个[min, max]范围内在随机整数 // @param min int 最小值(含) // @param max int 最大值(含) // @return int 随机整数 func RandInt(min int, max int) int { return rand.New(rand.NewSource(time.Now().UnixNano())).Intn(max-min+1) + min } // RandString // @description 生成一个指定长度的随机字符串 // @param length int 字符串长度 // @return string 随机字符串 func RandString(length int) string { letters := "abcdefghijklmnopqrstuvwxyz" bytes := []byte(letters) var randString []byte random := rand.New(rand.NewSource(time.Now().UnixNano())) for i := 0; i < length; i++ { randString = append(randString, bytes[random.Intn(len(bytes))]) } return string(randString) } // RandSlice // @description 随机获取切片元素 // @param slice []any 切片 // @return any 切片元素 func RandSlice(slice []any) any { return slice[rand.New(rand.NewSource(time.Now().UnixNano())).Intn(len(slice))] } func main() { //========== 生成随机整数 ==========// for i := 0; i < 5; i++ { fmt.Println(RandInt(10000, 99999)) } // 21395 // 53182 // 45425 // 91333 // 27154 //========== 生成随机字符串 ==========// for i := 0; i < 5; i++ { fmt.Println(RandString(32)) } // rioznncrbohxbegztsbhqzrjjiudefyh // rqyutkjwsemhipjzoidoodavmlythtcu // yykjqmpodzipwukpkdofhdroiichkxyq // abprwsvsnpwaonadkgnkndeoidndcxep // vqfudbzcdwgjqmjszbpglyjffvnydxgt //========== 随机获取切片元素 ==========// slice := []any{"刘一", "陈二", "张三", "李四", "王五", "赵六", "孙七", "周八", "吴九", "郑十"} for i := 0; i < 5; i++ { fmt.Println(RandSlice(slice)) } // 陈二 // 郑十 // 李四 // 陈二 // 孙七 }
Copyright © 2024 码农人生. All Rights Reserved