欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

go语言随机数和随机字符串

程序员文章站 2022-07-14 19:57:31
...
package main

import (
	"math/rand"
	"time"
	"log"
	"fmt"
)

func main()  {
	for i:=1;i<10;i++{
		RandomNum:=HF_GetRandom(100)  //随机数100以内的值,可自己设置范围
		fmt.Println("随机数:",RandomNum)
		Randomstr:=HF_GetRandomString(10)	//随机长度为10的字符串,可自己设置长度
		fmt.Println("随机字符串:",Randomstr)
	}

}
//! 得到一个随机数
func GetRandom(num int) int {
	if num == 0 {
		log.Fatal("随机数错误")
		return 0
	}
	return rand.New(rand.NewSource(time.Now().UnixNano() + rand.Int63n(1000))).Intn(num)
}

//! 得到一个随机字符串(例如:邀请码)
func GetRandomString(max int) string {
	str := "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	bytes := []byte(str)
	result := []byte{}
	r := rand.New(rand.NewSource(time.Now().UnixNano()+rand.Int63n(1000)))
	for i := 0; i < max; i++ {
		result = append(result, bytes[r.Intn(len(bytes))])
	}
	return string(result)
}
//运行结果
//随机数: 49
//随机字符串: W928ytshD6
//随机数: 90
//随机字符串: PbmninArEq
//随机数: 89
//随机字符串: i5Ud7MTfoA
//随机数: 56
//随机字符串: j0hINrtQAV
//随机数: 28
//随机字符串: JSUbJiGTpG
//随机数: 92
//随机字符串: 5IDrGbiwBT
//随机数: 63
//随机字符串: xI3f8ZoFIA
//随机数: 35
//随机字符串: G1XzwuE6bF
//随机数: 45
//随机字符串: bq2ETN5yAa

上一篇: 随机数

下一篇: 生成随机数