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语言 随机数rand

获取随机数 | Go语言基础

200行go语言代码自建一个区块链 体验挖矿乐趣

Go+ 随机数教程(4.10)

Go语言之for的五种用法和生成99这个随机数