Go语言 随机数rand

Posted 谁的天空之城

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言 随机数rand相关的知识,希望对你有一定的参考价值。

生成随机数random:

伪随机数:根据一定的算法公式算出来的

package main

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

func main()  {
//1、生成一个固定随机数
	num :=rand.Int()
	fmt.Println(num)
    fmt.Println("=================")

//2、生成多个固定随机数
	for i := 0;i<10;i++ {
		num1 := rand.Intn(10)  //[0...9]
		fmt.Println(num1)
	}
	fmt.Println("=================")
//3、生成一个可变随机数
	rand.Seed(1000)
	num2 := rand.Intn(10)
	fmt.Println(num2)
    fmt.Println("=================")
    
//4、生成多个可变随机数
    t1 := time.Now()
    fmt.Println(t1)
    fmt.Printf("t1值类型:%T",t1)

   //时间戳:指定时间,距离1970年1月1日0点0分0秒,之间的时间差值:秒,纳秒
	timeStamp1 := t1.Unix()
	fmt.Println(timeStamp1)

	timeStamp2 := t1.UnixNano()
	fmt.Println(timeStamp2)

	//step1:设置种子数,可以设置时间戳
	rand.Seed(time.Now().UnixNano())
	for i := 0;i <10;i++{
		//step2:调用生成随机数的函数
		fmt.Println(rand.Intn(100))
	}
	fmt.Println("=================")
	
//5、获取指定范围内的随机数
	num3 := rand.Intn(46)+3
	fmt.Println(num3)
	num4 := rand.Intn(62)+15
	fmt.Println(num4)
}

以上是关于Go语言 随机数rand的主要内容,如果未能解决你的问题,请参考以下文章

GO语言的实战学习(猜谜游戏和在线词典)| 青训营笔记

初学go语言,请教生成随机数为何线程越多速度越慢?

获取随机数 | Go语言基础

Go Rand小结

go语言-使用-例子-选择随机数字

Go+ 随机数教程(4.10)