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

package main

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

func main()  {
	for i:=1;i<10;i++{
		RandomNum:=GetRandom(100)  //随机数100以内的值,可自己设置范围
		fmt.Println("随机数:",RandomNum)
		Randomstr:=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
发布了10 篇原创文章 · 获赞 0 · 访问量 610

猜你喜欢

转载自blog.csdn.net/weixin_38849917/article/details/99984768