获取随机数 | Go语言基础

Posted pymkl

tags:

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

package main // 当前包声明


func main() { // 程序的入口
    // 随机数
    // 默认seed种子数伪,seed固定,每次取得随机数都是固定
    // 1.通过当前时间戳获取seed种子数
    t1:=time.Now()  // 系统当前时间
    //转化成时间戳
    //cTimeStamp:=t1.Unix()
    cTimeStamp:=t1.UnixNano()  // 纳秒的时间戳,更精确
    
    rand.Seed(cTimeStamp)  // 设置获取随机数的种子数,int64数字即可,根据时间的变动来随机seed
    // 2.获取随机数
    var a = rand.Intn(100)  // [0,100)
    fmt.Println(a)
    // [1,10)  ==> [0,9) + 1 来实现
    // [m,n)  rand.Intn(n-m+1) +m
}

 

 

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

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

你知道的Go切片扩容机制可能是错的

在 Go 语言中生成固定长度的随机数

java获取随机时间的源码片段

go语言学习笔记 — 基础 — go工具:一键获取源代码,编译并安装 —— go get

Go语言 随机数rand