站長資訊網
        最全最豐富的資訊網站

        golang中使用rand產生隨機不重復數字

        golang中使用rand產生隨機不重復數字

        在Golang中,有兩個包提供了rand,分別為 "math/rand" 和 "crypto/rand", 對應兩種應用場景。

        一、"math/rand" 包實現了偽隨機數生成器。也就是生成 整形和浮點型。

        二、”crypto/rand“ 包實現了用于加解密的更安全的隨機數生成器。

        golang中使用rand產生隨機不重復數字:

        package test  import ( 	"fmt" 	"math/rand" 	"time" )  //生成若干個不重復的隨機數 func RandomTestBase() { 	//測試5次 	for i := 0; i < 5; i++ { 		nums := generateRandomNumber(10, 30, 10) 		fmt.Println(nums) 	} }  //生成count個[start,end)結束的不重復的隨機數 func generateRandomNumber(start int, end int, count int) []int { 	//范圍檢查 	if end < start || (end-start) < count { 		return nil 	}  	//存放結果的slice 	nums := make([]int, 0) 	//隨機數生成器,加入時間戳保證每次生成的隨機數不一樣 	r := rand.New(rand.NewSource(time.Now().UnixNano())) 	for len(nums) < count { 		//生成隨機數 		num := r.Intn((end - start)) + start  		//查重 		exist := false 		for _, v := range nums { 			if v == num { 				exist = true 				break 			} 		}  		if !exist { 			nums = append(nums, num) 		} 	}  	return nums }

        輸出結果:

        [12 20 18 19 21 28 15 13 11 10]

        [28 15 12 10 20 18 16 24 27 17]

        [25 28 29 19 21 12 16 13 11 15]

        [27 20 19 23 18 13 21 24 12 26]

        [19 10 27 18 28 12 22 14 16 26]

        推薦:golang教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 精品国产毛片一区二区无码| 亚洲精品无码久久久久久| 久久亚洲av无码精品浪潮| 97久久精品无码一区二区天美| 男女男精品视频网站在线观看| 精品国产欧美一区二区| 欧美午夜精品久久久久免费视| 久久免费99精品国产自在现线| 四虎国产精品永久一区| 国产精品三级在线观看无码| 亚洲欧美日韩久久精品第一区| 国产精品永久免费| 亚洲精品综合一二三区在线| 国产精品伦一区二区三级视频| 亚洲人成国产精品无码| 精品久久久久久久中文字幕| 99精品在线免费| 日韩一级精品视频在线观看| 国产精品无码无需播放器| 亚洲精品无码久久久久去q| 日韩美女18网站久久精品| 精品亚洲欧美无人区乱码| 国产精品久久久久久久午夜片| 亚洲第一精品在线视频| 久久99精品久久久久久 | 99精品人妻少妇一区二区| 九九热这里只有在线精品视| 91麻豆精品国产| 国产精品嫩草视频永久网址| 国产精品久久99| 好属妞这里只有精品久久| 精品日产一区二区三区手机| 国产精品一区二区久久精品| 国产精品久久自在自线观看| 华人亚洲欧美精品国产| 国产精品亚洲欧美一区麻豆| 国产精品成人观看视频国产| 国产精品九九九久久九九| 久久成人精品视频| 中文字幕亚洲精品资源网| 2022国产精品最新在线|